我有學習makefile項目。我使用的GNU GCC和作爲連接器,我用下面的參數在gcc:鏈接器語法:鏈接器不會在鏈接過程中使用所有鏈接器的標記
linkerCmdLine=$(exe) -Wl,--start-group -nostdlib -Map=test_mapfile.map -l:libc.a -l:libgcc.a -l:libm.a -Wl,--end-group -o $(output)
在關聯過程中,連接器不使用所有這些標誌: 不使用標誌-Map=test_mapfile.map
。
爲什麼?
有一個項目設置文件,在這個文件中還存儲了鏈接器設置。
\u201ClinkerCmdLine\=$(exe) -Wl, --start-group -nostdlib -Map\=./99_output/PUZ_GPF.map --gc-sections -l\:libc.a -l\:libgcc.a -l\:libm.a -Wl,--end-group -o $(output)\u201D
如何存儲設置是否正確?
編輯:
隨着地圖文件工作正常,但我有一個鏈接文件實際上問題。我只用以下標誌:
「linkerCmdLine = $(EXE)輪候冊,--script = C:/workspace/test_project/test_linker_file.ld -static -o $(輸出)」
我得到此錯誤在控制檯窗口:
臂-NONE-EABI-gcc.exe:錯誤:無法識別的命令行選項 '--script = C:/workspace/test_project/test_linker_file.ld'
我不不明白爲什麼,因爲映射文件和.ld文件屬於鏈接器標記。