2014-02-12 54 views
1

我試圖從命令行編譯一個項目。默認編譯器LLVM-clang,我需要用LLVM-gcc42進行編譯。在Xcode中切換編譯器非常簡單。然而,在命令行上它似乎更成問題。根據我的理解,「/ usr/bin/cc」和「/ use/bin/gcc」用於指向c/C++編譯器。我注意到「cc」被鏈接到了同一個目錄中的「clang」。所以,我改變了「cc」指向「gcc」。沒有幫助。當我運行從llvm-clang到llvm-gcc42(命令行)的默認編譯器

$ gcc -v

我得到響應

Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1

Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn)

Target: x86_64-apple-darwin12.5.0

如何更改鐺與gcc?

我的設置是:

MAC OS X 10.8.5

的Xcode 4.6.2

命令行工具

編輯2014年2月13日

該項目一個使用第三方c/C++庫混合的QT項目。我的任務是寫一個新的目標C庫。該項目使用-spec macx-g++參數構建。配置腳本可以找到/QTROOT/mkspecs/macx-g++/QTROOT/mkspecs/common。在g++-base.conf關鍵變量的定義如下:

QMAKE_CC = gcc

QMAKE_CXX = g++

+1

項目是如何編譯 - 即它從哪裏獲得從在其Makefile或其他構建腳本 – Mark

+0

閉門器使用的編譯器不這是關於開發工具等是在題目這裏而不是超級用戶,但我懷疑我們需要更多的信息,否則它將被關閉,因爲信息不足 – Mark

+0

好的,我會添加更多的細節。該項目有點複雜。所以,我故意試着保持我的問題簡單。 – DeathFromAbove

回答

0

除了更改鏈接這可能會影響其他程序使用的完整路徑LLVM的可執行文件中生成腳本的

例如如果您已經安裝了命令行工具

QMAKE_CC = /usr/bin/llvm-gcc-4.2 

QMAKE_CXX = /usr/bin/llvm-g++-4.2 
-1

好,釘的問題。解決方案很簡單。我刪除了/usr/bin/gcc/usr/bin/g++的舊鏈接,並創建了指向正確編譯器的新鏈接。

gcc -> /Applications/Xcode.app/Contents/Developer/usr/llvm-gcc-4.2/bin/llvm-gcc-4.2

g++ -> /Applications/Xcode.app/Contents/Developer/usr/llvm-gcc-4.2/bin/llvm-g++-4.2