我正在运行 macOS High Sierra (10.13.2) 和 Qt 5.10.0。我想在我的应用程序中使用 OpenMP。
我已将以下标志添加到我的 .pro 文件中
QMAKE_CXXFLAGS += -fopenmp
QMAKE_LFLAGS += -fopenmp
LIBS += -fopenmp
macOS 上的默认编译器不包含 OpenMP。我安装了gcc
通过支持 OpenMP 的自制软件。
在 Qt Creator 的 Build & Run -> Compilers 选项卡下,我添加了自制程序g++
and gcc
编译器(/usr/local/Cellar/gcc/7.2.0/bin/{gcc-7,g++-7}
)。然后,我选择了我正在使用的套件,并将编译器更改为我在编译器选项卡下添加的自制安装编译器。
如果我检查Makefile
设置此套件并重建项目后由 Qt Creator 生成,我发现CC
and CXX
没有使用我指定的编译器。
这是他们的价值观Makefile
:
CC = /Library/Developer/CommandLineTools/usr/bin/clang
CXX = /Library/Developer/CommandLineTools/usr/bin/clang++
这些应该是/usr/local/Cellar/gcc/7.2.0/bin/g++-7
and /usr/local/Cellar/gcc/7.2.0/bin/gcc-7
.
我现在得到的编译器输出是:
18:14:48:开始:“/usr/bin/make”
/usr/local/Cellar/qt/5.10.0/bin/qmake -o Makefile ../Practice/Practice.pro -spec macx-g++ CONFIG+=调试 CONFIG+=x86_64 CONFIG+=qml_debug
/Library/Developer/CommandLineTools/usr/bin/g++ -c -pipe -fopenmp -g -std=gnu++11 -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.13.sdk -mmacosx-version -min=10.10 -Wall -W -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I../练习-I。 -I/usr/local/Cellar/qt/5.10.0/lib/QtQuick.framework/Headers -I/usr/local/Cellar/qt/5.10.0/lib/QtGui.framework/Headers -I/usr/local /Cellar/qt/5.10.0/lib/QtQml.framework/Headers -I/usr/local/Cellar/qt/5.10.0/lib/QtNetwork.framework/Headers -I/usr/local/Cellar/qt/5.10 .0/lib/QtCore.framework/标题-I。 -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/OpenGL.framework/Headers -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.13.sdk/System/Library/Frameworks /AGL.framework/标题-I/usr/local/Cellar/qt/5.10.0/mkspecs/macx-g++ -F/usr/local/Cellar/qt/5.10.0/lib -o main.o ../练习/main.cpp
clang:错误:不支持的选项“-fopenmp”
make: *** [main.o] 错误 1
18:14:49:进程“/usr/bin/make”退出,代码为 2。
构建/部署项目练习时出错(套件:桌面)
执行步骤“Make”时
为什么是Makefile
由 Qt Creator 生成的不使用我在我正在使用的套件中指定的编译器?