2014-05-24 102 views
0

有沒有一種方法可以在Xcode中指定要用於編譯的二進制文件?我最近交叉編譯clang,ld,libtool等,我想測試它們。指定Xcode用於編譯的二進制文件

我深知,我可以這樣做:

/Path/To/My/Tools/clang -c file.c 
/Path/To/My/Tools/ld file.o -o executable 
# or 
/Path/To/My/Tools/libtool -static -arch_only x86_64 -o myLib.a *.o 
# and so on... 

但是我正在尋找一種方式來整合這很好地進入Xcode中。由於我的工具應該(技術上 - 這是我想測試的)等同於內置工具,我不需要更改任何Xcode的默認編譯參數等。我只需要告訴它找到二進制文件/usr/bin以外的某處或${SDKROOT}*.xctoochain目錄中的某處。這可能嗎?

回答

1

有一個這樣的項目設置。在你的Xcode項目中,打開「Project Navigator」並點擊你項目的圖標。它應該顯示項目設置。在項目設置的「項目」部分中,單擊「構建設置」選項卡。在搜索字段中鍵入「編譯器」,它會顯示「編譯器爲C/C++/Objective-C」的「編譯選項」設置。它默認爲Apple LLVM 5.0,但可以更改它。點擊「默認(Apple LLVM 5.0)」並選擇「Other ...」。它將彈出一個文本字段,您可以在其中輸入自己工具的路徑。它應該是這樣的:

enter image description here

+0

謝謝!看起來像我正在尋找的東西。但是,當我將路徑設置爲:'/ mytools/bin/clang'時,每當我嘗試構建項目時都會收到以下錯誤:'無法確定文件的具體GCC編譯器。我覺得可能有一個微妙的我失蹤... – Ephemera

+0

[This answer](http://stackoverflow.com/questions/16247721/integrating-gcc-4-8-with-xcode-4-x)建議問題可能是編譯器沒有Objective-C/C++支持。不知道這是否也是你的問題。如果沒有,您可以隨時向您的目標添加一個構建規則,以便爲C/C++/Objective-C/Objective-C++使用特定的編譯器。讓我知道你是否需要幫助。 – user1118321

+0

我看到了 - 我正在看的一些項目是舊的開源項目,所以很可能是問題所在。構建規則的想法很棒,我甚至沒有考慮過!如果我無法解決編譯器問題,那聽起來就像是最好的行動方式,歡呼! – Ephemera

相關問題