Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/161.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为了使用C++11,我需要在OSX上重建Qt吗?_C++_Macos_Qt_C++11 - Fatal编程技术网

为了使用C++11,我需要在OSX上重建Qt吗?

为了使用C++11,我需要在OSX上重建Qt吗?,c++,macos,qt,c++11,C++,Macos,Qt,C++11,我在MacOSX上使用QtEnterprise5.3,我下载了二进制版本,该版本似乎与libstdc++相关联 otool -L /Users/Shared/Qt/5.3.1/5.3/clang_64/lib/QtCore.framework/Versions/5/QtCore 显示 我在构建从Windows移植的应用程序时遇到了一些问题,因为libstdc++不支持任何C++11功能,并且通过make CXXFLAGS使用libc++会导致STL本身的符号未定义。最后,我找到了一个解决方案,

我在MacOSX上使用QtEnterprise5.3,我下载了二进制版本,该版本似乎与libstdc++相关联

otool -L /Users/Shared/Qt/5.3.1/5.3/clang_64/lib/QtCore.framework/Versions/5/QtCore
显示

我在构建从Windows移植的应用程序时遇到了一些问题,因为libstdc++不支持任何C++11功能,并且通过make CXXFLAGS使用libc++会导致STL本身的符号未定义。最后,我找到了一个解决方案,将这两行添加到我的项目文件中:

macx: QMAKE_CXXFLAGS += -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++
macx: LIBS += -mmacosx-version-min=10.7 -stdlib=libc++
该软件现在可以编译和运行,但我遇到了一些奇怪的崩溃,这些崩溃不是在使用EXC_I386_GPFLT的Windows EXC_BAD_ACCESS上发生的


<> P>是否有可能是由于我的软件和QT与不同的C++库链接,所以我需要重建QT来使用它,或者我应该在代码中寻找bug?< /P>我不确定Clang,但是一般来说,当你做你所做的事情时,它不能保证工作。也就是说,除了GCC 4.7.0和4.7.1对C++11 std::pair有严重的ABI破坏外,GCC句柄是可以的。刚刚尝试使用GCC,结果是一样的。如果您可以在调试器中运行,并给我们一些堆栈跟踪,这将有所帮助。是的,事实上,这保证永远不会正常工作。重建Qt相当简单——首先要做。
macx: QMAKE_CXXFLAGS += -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++
macx: LIBS += -mmacosx-version-min=10.7 -stdlib=libc++