2010-06-08 106 views
1

我使用CodeSorcery ARM-EABI-GCC工具链时配置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 

通知我加入海合会库到ld命令

我缺少什么?

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

+0

你可能会想要看看使用规格文件:http://stackoverflow.com/a/7505529/895245 – 2015-05-16 17:26:33

回答

3

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

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

如果您需要通过连接选项,您可以用-Wl

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

@R塞缪尔Klatchko有最好的建议,但如果你真的想看看什么gcc/g ++链接使用-vverbose option

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