我很難寫makefiles。我有使用extern
變量的經驗,當我在不使用makefile的情況下構建項目時,我完全沒有錯誤,並且我可以運行該程序。但從我編寫生成文件來構建項目的時候,我得到了undefined reference to
錯誤。鏈接時間「undefined reference to」錯誤
我有超過3個文件,但爲了簡單起見,我將利用3個文件來解釋設置。
/************Project********/
/* main.c */
int x;
main()
{
...
}
/* File1.c*/
extern int x;
fn1()
{
...
}
/* File2.c*/
extern int x;
fn2()
{
...
}
/*******************************/
在使用Makefile期間我指着FILE1.C和file2.c中的鏈接時得到undefined reference to
錯誤?
我是否犯了一個錯誤,eclipse自行修復(當沒有使用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 [email protected] $(OBJ1)
在你的Makefile中,「最終」規則依賴於main.o,但是然後你鏈接到algorithm/main.o。那是故意的嗎? – bjg 2010-06-29 11:41:29