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

时间:2010-06-08 21:03:55

标签: gcc linker arm

我正在使用CodeSorcery arm-eabi-gcc工具链,我在使用与gcc分开的ld时出现问题

如果我让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链接吗?

2 个答案:

答案 0 :(得分:4)

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

g++ -c test.cpp      # compile
g++ -o test test.o   # separate link

如果您需要传递链接器选项,可以使用-Wl

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

答案 1 :(得分:4)

@R Samuel Klatchko有最好的建议,但是如果你真的想看看gcc / g ++链接在使用-v verbose option

  

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