我有一个QT项目,在我目前的配置下完美运行(OsX 10.8.5,QT4.8.5和编译器i686-apple-darwin11-llvm-gcc-4.2(GCC)4.2.1(基于Apple Inc. build 5658)(LLVM build 2336.11.00)
问题是我正在切换到安装了OsX 10.9的新笔记本电脑。已知问题只有CLang。使用CLang,该项目在一些库上提供了很多编译错误,我无法更改。 (在当前配置下未给出的错误。)
因此我使用brew安装 apple-GCC4.2.1 ,并使用gcc --version
我得到:
i686-apple-darwin11-llvm-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3)
。
现在我在目录下找到文件<stdarg.h>
和<float.h>
的“没有这样的文件或目录”
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1
对于我所理解的内容,它包含了来自Xcode compiler
的基本c ++标题,并且它们与gcc4.2.1所需的标题不匹配。
有人能帮助我吗?提前谢谢你。
答案 0 :(得分:0)
所有C ++代码(Qt,您的应用程序,您使用的任何C ++库)都必须使用相同的C ++编译器进行编译。
答案 1 :(得分:0)
我已经解决了。
我必须说以下程序适用于我的情况,但我无法确定这对您是否有效和/或此程序对您的系统配置是否有危险。
对我来说,做了这个程序。
使用brew安装apple-gcc42和gdb:
brew tap homebrew / dupes
brew install apple-gcc42
brew install gdb
在QtCreator上设置编译器和GDB,然后创建你的工具包。
玩得开心。
在我的情况下,有必要修改makefile以便设置 CFLAGS,CXXFLAGS和LFLAGS的值-mmacosx-version-min = 10.6。