我在使用makefile編譯我的項目時遇到了編譯錯誤,而使用控制檯編譯時我沒有看到它。使用makefile編譯代碼時出錯。使用控制檯工作
我爲PowerPC使用了預建的GNU工具鏈。
這裏是我的makefile,
GCC_Assembler = powerpc-eabi-as
GCC_Compiler = powerpc-eabi-gcc
Directory_Application :=$(argument)/Source_Files
Directory_Bootloader :=$(argument)/Source_Files
Directory_RAMBootloader :=$(argument)/Source_Files
Application_Source_Files := $(wildcard $(Directory_Application)/*.C)
Application_Source_Files_Objecs=$(Application_Source_Files:.C=.O)
default: Build_Application
all: Build_Application
Build_Application: $(Application_Source_Files_Objecs)
$(Application_Source_Files_Objecs) : %.O: %.C
$(GCC_Compiler) -c $< -o [email protected] -O1 -Wall -Wfatal-errors
它建立沒有錯誤,當我嘗試使用這些命令來建立它。
CD %WORKSPACE%\Source Files
powerpc-eabi-gcc debug.c -c -odebug.o -O1 -Wall -Wfatal-errors
powerpc-eabi-gcc io.c -c -oio.o -O1 -Wall -Wfatal-errors
...
...
所以,建設,利用makefile的時候,我得到一個錯誤的未正確聲明的函數。見下面
/Debug.C: infunction 'void display_task_table()':
/Debug.C:627:18: error: 'task_wait' was not declared in this scope
task_wait(100*2);
我只是沒有makefile文件編譯時得到警告相同功能的圖像。
Debug.C: in function 'display_task_table':
Debug.c:627:3: warning: implicit declaration of function 'task_wait' [- Wimplicit-function-declaration]
task_wait(100*2);
我可以通過包括適當的頭文件修復錯誤,但我想知道爲什麼嗎?
請讓我知道如果我需要包括別的
請將錯誤發佈在您的問題本身,而不是圖像。 – user657267
看起來你錯過了'task_await'函數的簽名 – BackDoorNoBaby
如果你不希望makefile在警告中失敗,請看這個鏈接:http://stackoverflow.com/questions/2414242/gcc-make- how-to-disable-fail-on-warning – BackDoorNoBaby