3

我刚刚开始使用 QT,并且仍然熟悉编译过程。目前,我正在尝试将现有的 QT 项目移植到 Mac。这个应用程序在 Linux 和 Windows 上编译和运行。

当我在 Mac OSX 10.8.2 上编译项目时,我收到了这个与 c++11 相关的错误,

#include ../xxx/pch.h:71:10: fatal error: 'atomic' file not found
#include <atomic>
^
1 error generated.
make[1]: *** [debug/xxx/objective-c++.pch] Error 1
make: *** [debug] Error 2
11:32:01: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project xxx (kit: Qt5.1.0)
When executing step 'Make'

我在 .pro 文件中包含以下标志以启用 c++11 ,

QMAKE_CXXFLAGS += -std=c++11

CONFIG += c++11

我正在使用预构建的 QT5.1Beta 包 (Clang) 构建项目,我相信它启用了 c++11。

我在以下位置/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/c++/v1/atomic 和/usr/lib/c++/v1/atomic 中看到了原子标头

我尝试通过包含完整路径 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr//lib/c++/v1/atomic 进行测试

我收到以下错误,

In file included from ../xxx/pch.h:71:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/atomic:535:2: 
error: atomic is not implemented

In file included from ../xxx/pch.h:124:
../../../yyy.h:308:12: error: no type named 'atomic' in namespace 'std'
std::atomic<bool> m_signaled;

我在这里想念什么?

4

2 回答 2

2

Add also

macx:QMAKE_CXXFLAGS += -stdlib=libc++
macx:QMAKE_LFLAGS += -stdlib=libc++
于 2013-05-28T06:05:04.030 回答
-1

也许有点晚了,但我用-std=gnu++0x标志修复了它

于 2014-03-31T13:48:16.557 回答