【发布时间】:2014-02-22 09:25:08
【问题描述】:
我有一个 QT 项目在我当前的配置下完美运行(OsX 10.8.5、QT4.8.5 和编译器 i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1(基于 Apple Inc. build 5658)(LLVM 构建 2336.11.00)
问题是我正在切换到安装了 OsX 10.9 的新笔记本电脑。作为已知问题,只有 CLang。使用 CLang 项目会在某些库上产生很多 编译错误,我无法更改这些错误。 (当前配置下没有给出的错误)。
因此我使用 brew 和 gcc --version 安装了 apple-GCC4.2.1 我得到:
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 想要的不匹配。
有人可以帮助我吗?提前谢谢你。
【问题讨论】:
-
我不建议尝试在 10.9.1 上使用 brew 安装 gcc — 事情可能会完全搞砸,并且保持所有路径笔直并非易事。我建议只使用precompiled version 并这样做。但是,在遇到所有这些麻烦之前,您是否尝试将部署目标设置为较低的值?在不知道您遇到的确切错误的情况下,这可能是一个简单的修复,也可能是一个乏味的修复。
-
如何设置部署目标?我在 c、cxx 和 l 标志上使用 -mmacosx-version-min=10.7
-
试试
-mmacosx-version-min=10.6。您打算使用哪个版本的 OS X?也可能是 10.7 太低了,你需要升级到 10.8 或 10.9。 -
我必须在 osx 10.8 上工作,我会试一试。