首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可用编译器的自制列表

可用编译器的自制列表
EN

Stack Overflow用户
提问于 2016-03-23 14:45:39
回答 1查看 482关注 0票数 1

你好,我需要使用openmp编译一个openmp项目(使用cmake构建)。

到目前为止,我使用了gcc-5提供的homebrew,但我想使用clang (我的口味.)

我通过clang-omp安装了homebrew install clang-omp,但是现在当我试图编译我的项目(通过cmake -DCMAKE_CXX_COMPILER=/usr/local/bin/clang-omp++ ..生成)时,我得到了以下错误:

代码语言:javascript
复制
cd /Users/tommaso/neutrino/debug/src && /usr/local/bin/clang-omp++   -DHAVE_HDF5 -DHAVE_JPEG -DHAVE_LIBCFITSIO -DHAVE_LIBCLFFT -DHAVE_LIBDF -DHAVE_LIBFFTW -DHAVE_LIBFFTW_THREADS -DHAVE_LIBGSL -DHAVE_LIBGSLCBLAS -DHAVE_LIBHDF5HL -DHAVE_LIBMFHDF -DHAVE_LIBNETPBM -DHAVE_LIBTIFF -DHAVE_NPHYSIMAGE -DHAVE_OPENCL -DHAVE_PYTHONQT -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIAWIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_PRINTSUPPORT_LIB -DQT_SQL_LIB -DQT_SVG_LIB -DQT_UIPLUGIN_LIB -DQT_UITOOLS_LIB -DQT_WIDGETS_LIB -DUSE_QT5 -D__VER=\"osx-cmake-v2.0-75.bdff6e3\" -I/Users/tommaso/neutrino/debug/src -I/Users/tommaso/neutrino/src -I/usr/include/hdf -I/usr/local/include/netpbm -I/Library/Frameworks/qwt.framework/Headers -I/usr/local/Cellar/hdf5/1.8.16_1/include -I/usr/include/python2.7 -I/Users/tommaso/neutrino/src/../../pythonqt-code/src -I/Users/tommaso/neutrino/src/../../pythonqt-code/src/gui -I/Users/tommaso/pythonqt-code/src -I/Users/tommaso/pythonqt-code/extensions/PythonQt_QtAll -I/Users/tommaso/neutrino/src/python -iframework /usr/local/opt/qt5/lib -isystem /usr/local/opt/qt5/lib/QtCore.framework/Headers -isystem /usr/local/opt/qt5/./mkspecs/macx-clang -isystem /usr/local/opt/qt5/lib/QtGui.framework/Headers -isystem /System/Library/Frameworks/OpenGL.framework/Headers -isystem /usr/local/opt/qt5/lib/QtSql.framework/Headers -isystem /usr/local/opt/qt5/lib/QtWidgets.framework/Headers -isystem /usr/local/opt/qt5/lib/QtSvg.framework/Headers -isystem /usr/local/opt/qt5/lib/QtPrintSupport.framework/Headers -isystem /usr/local/opt/qt5/include -isystem /usr/local/opt/qt5/include/QtUiTools -isystem /usr/local/opt/qt5/lib/QtMultimedia.framework/Headers -isystem /usr/local/opt/qt5/lib/QtNetwork.framework/Headers -isystem /usr/local/opt/qt5/lib/QtMultimediaWidgets.framework/Headers -I/Users/tommaso/neutrino/debug -I/Users/tommaso/neutrino/src/graphics -I/Users/tommaso/neutrino/src/doc -I/Users/tommaso/neutrino/src/pans -I/Users/tommaso/neutrino/src/pans/VISAR -I/Users/tommaso/neutrino/src/pans/colorbar -I/Users/tommaso/neutrino/src/pans/winlist -I/Users/tommaso/neutrino/src/../nPhysImage -I/Users/tommaso/neutrino/nPhysImage -isystem /usr/local/opt/qt5/lib/QtUiPlugin.framework/Headers  -O3 -fopenmp -fopenmp -O0 -ggdb -D__phys_debug=10   -std=c++11 -Wall -fPIC -mmacosx-version-min=10.6 -o CMakeFiles/Neutrino.dir/neutrino.cc.o -c /Users/tommaso/neutrino/src/neutrino.cc

In file included from /Users/tommaso/neutrino/src/neutrino.cc:26:
In file included from /usr/local/opt/qt5/lib/QtSvg.framework/Headers/QtSvg:3:
In file included from /usr/local/opt/qt5/include/QtSvg/QtSvgDepends:3:
In file included from /usr/local/opt/qt5/include/QtCore/QtCore:4:
In file included from /usr/local/opt/qt5/lib/QtCore.framework/Headers/qabstractanimation.h:37:
In file included from /usr/local/opt/qt5/include/QtCore/qobject.h:41:
/usr/local/opt/qt5/include/QtCore/qstring.h:739:55: error: no type named 'u16string' in namespace 'std'
    static inline QString fromStdU16String(const std::u16string &s);

结果(如果我错了就纠正我的话),我可能需要用同一个clang-omp编译器编译qt。

我原以为没什么大不了的,但当我试着这样做的时候,homebrew哭了:

代码语言:javascript
复制
HOMEBREW_CC=clang-omp HOMEBREW_CXX=clang-omp++ brew install -s qt5
Error: Invalid value for HOMEBREW_CC: clang-omp

那么,是否有一种使用Qt重新构建homebrew的方法?

是否有命令来获取homebrew的可用编译器

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-23 22:48:28

用不同的编译器重新编译Qt可能不会解决这个问题。

去看看this other question吧。

它也可能是Qt头中的一个错误,无法正确地检测编译器,然后错误地假设它支持std::u16string

或者你只是忘了添加#include <string>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36181323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档