2012-11-07 34 views
1

我在我的項目中使用gnu autotools在C++中(autotools配置是由eclipse cdt自動生成的,但這並不重要,我認爲)。我正在使用LLVM庫,現在我正面臨鏈接器標誌順序的問題。重新排序gnu autotools鏈接器標誌

基本上,在構建項目時,eclipse執行「make」。請執行許多命令,但是最後它執行如下G ++編譯器:

g++ -DPACKAGE_NAME=\"test\" -DPACKAGE_TARNAME=\"test\" -DPACKAGE_VERSION=\"1.0\" -DPACKAGE_STRING=\"test\ 1.0\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"test\" -DVERSION=\"1.0\" -I. `llvm-config --cppflags --ldflags --libs core` -g -O2 -MT test.o -MD -MP -MF .deps/test.Tpo -c -o test.o test.cpp 
mv -f .deps/test.Tpo .deps/test.Po 

,然後鏈接:

g++ `llvm-config --cppflags --ldflags --libs core` -g -O2 -o a.out test.o 

的問題是,鏈接器失敗,如果參數「test.o 「不就行的開始,所以它應該是:

g++ test.o `llvm-config --cppflags --ldflags --libs core` -g -O2 -o a.out 

如何改變它在Makefile.am或GNU自動任何配置文件?

回答

0

我沒有找到答案,但到目前爲止,我發現LLVM與包含自定義automake系統的項目模板捆綁在一起,該系統以正確的方式處理所有內容。

如果要訪問該模板,可以在$ LLVMSRC/projects/sample文件夾中找到它。