makefileを書くのに苦労しています。変数の使用経験がありextern
ます。makefileを使用せずにプロジェクトをビルドすると、エラーはまったく発生せず、プログラムを実行できます。しかし、プロジェクトをビルドするためにmakefileを作成したときから、undefined reference to
エラーが発生しています。
私は3つ以上のファイルを持っていますが、簡単にするために、ここでは3つのファイルを使用してセットアップを説明します。
/************Project********/
/* main.c */
int x;
main()
{
...
}
/* File1.c*/
extern int x;
fn1()
{
...
}
/* File2.c*/
extern int x;
fn2()
{
...
}
/*******************************/
makefileを使用するundefined reference to
と、File1.cとFile2.cを指すリンク時間中にエラーが発生しますか?
日食がそれ自体で修正する間違い(makefileが使用されていない場合)と、makefileを使用するときに表面化する間違いはありますか?
私の最終的なmakefileは次のようになります-
OBJ1=アルゴリズム/main.oアルゴリズム/File1.oアルゴリズム/File2.o
all: final
final: main.o algorithm/File1.o algorithm/File2.o
@echo "Linking - making Final"
$(CC) -o $@ $(OBJ1)