2014-02-12 52 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