使用gcc4.2在OsX 10.9上编译Qt5.2项目?

时间:2014-02-22 09:25:08

标签: c++ macos qt gcc qt5

我有一个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所需的标题不匹配。

有人能帮助我吗?提前谢谢你。

2 个答案:

答案 0 :(得分:0)

所有C ++代码(Qt,您的应用程序,您使用的任何C ++库)都必须使用相同的C ++编译器进行编译。

答案 1 :(得分:0)

我已经解决了。

我必须说以下程序适用于我的情况,但我无法确定这对您是否有效和/或此程序对您的系统配置是否有危险。

对我来说,做了这个程序。

  • 安装command_line_tools_os_x_mavericks_for_xcode_late_october_2013 (不确定是否有必要,但我想是的)
  • 安装Qt4.8.5并在QtCreator
  • 上进行设置
  • 安装homebrew
  • 使用brew安装apple-gcc42和gdb:

    brew tap homebrew / dupes

    brew install apple-gcc42

    brew install gdb

在QtCreator上设置编译器和GDB,然后创建你的工具包。

  • this指南后编码gdb(滚动直至找到 “生成签名证书”。

玩得开心。

在我的情况下,有必要修改makefile以便设置 CFLAGS,CXXFLAGS和LFLAGS的值-mmacosx-version-min = 10.6。