2010-06-08 109 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

它顯示用於搜索頭文件和庫,預定義的預處理器符號以及用於鏈接的對象文件和庫的完整目錄路徑。