Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取gcc在调用链接器时使用的默认链接配置_Gcc_Linker_Arm - Fatal编程技术网

获取gcc在调用链接器时使用的默认链接配置

获取gcc在调用链接器时使用的默认链接配置,gcc,linker,arm,Gcc,Linker,Arm,我正在使用CodeSorcery arm eabi gcc工具链,使用ld与gcc分离时遇到问题 如果我让gcc调用ld,我可以编译我的简单程序并链接它 这不成问题 g++ test.cpp; # Works 由于缺少符号,此操作不起作用 g++ -c test.cpp ld -o test crti.o crtbegin.o test.o crtend.o crtn.o -lgcc -lc -lstdc++; # Fails 注意,我正在将gcc库添加到ld命令中 我错过了什么 另外,如

我正在使用CodeSorcery arm eabi gcc工具链,使用ld与gcc分离时遇到问题

如果我让
gcc
调用
ld
,我可以编译我的简单程序并链接它

这不成问题

g++ test.cpp; # Works
由于缺少符号,此操作不起作用

g++ -c test.cpp

ld -o test crti.o crtbegin.o test.o crtend.o crtn.o -lgcc -lc -lstdc++; # Fails
注意,我正在将gcc库添加到
ld
命令中

我错过了什么


另外,如果有更好的方法使配置ld使用默认的
gcc
链接?

最简单的方法是让gcc/g++驱动一个单独的链接:

g++ -c test.cpp      # compile
g++ -o test test.o   # separate link
如果需要传递链接器选项,可以使用
-Wl

g++ -o test test.o -Wl,-somelinkeroption,arg

@R Samuel Klatchko给出了最好的建议,但是如果您真的想看看gcc/g++正在使用的链接是什么,请使用
-v

它显示用于搜索头文件和库的完整目录路径、预定义的预处理器符号以及用于链接的对象文件和库


您可能想了解一下使用等级库文件: