我有研究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 $(输出)
在链接过程中,链接器不会使用所有这些标志:-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 $(输出)\u201D
我必须如何正确存储设置?
编辑:
使用地图文件可以正常工作,但实际上链接器文件有问题。我只使用以下标志:
“linkerCmdLine=$(exe) -Wl, --script=C:/workspace/test_project/test_linker_file.ld -static -o $(output)”
我在控制台窗口中收到此错误:
arm-none-eabi-gcc.exe:错误:无法识别的命令行选项 '--script=C:/workspace/test_project/test_linker_file.ld'
我不明白为什么,因为映射文件和 .ld 文件属于链接器标志。