OpenCV构建问题,找不到ext/atomicity.h

Tom*_*ift 6 xcode opencv ios

<ext/atomicity.h>在构建包含OpenCV的项目时抱怨编译器错误.环境是针对iOS的Xcode 4.5.它为模拟器编译良好,但在为设备构建时失败.这是错误文本:

/Users/Nick/projects/ios/opencv2.framework/Headers/core/operations.hpp:65:16: fatal error: 'ext/atomicity.h' file not found
      #include <ext/atomicity.h>
Run Code Online (Sandbox Code Playgroud)

我正在使用opencv2.framework,使用cmake构建,使用此处的说明.

Tom*_*ift 20

默认情况下,XCode 4.5使用libc++ (LLVM C++ standard library with C++ 11 support).生成要构建的新项目.但OpenCV预计将针对GNU构建libstdc++ (GNU C++ standard library). <ext/atomicity.h>显然是GNU扩展,不是LLVM libc ++标准库的一部分.

在项目的目标设置中,选择libstdc++ (GNU C++ standard library)C++标准库设置.

很可能atomicity.h要求可以用opencv来解决,或者以LLVM libc ++兼容的方式完成.我没有探索过这一点,但如果有人知道如何做到这一点,我会感兴趣.