在windows上,链接器忽略qtcreator中的/openmp

linker ignores /openmp in qtcreator on windows

本文关键字:qtcreator 中的 openmp windows 链接      更新时间:2023-10-16

当我尝试从这个网站编译openmp cpp文件时,我得到一个链接警告,说openmp标志被忽略了。

LNK4044:unrecognized option '/openmp'; ignored

我已经将这些代码添加到pro中。文件

QMAKE_CXXFLAGS+= -openmp
QMAKE_LFLAGS +=  -openmp

QMAKE_CXXFLAGS += -fopenmp
LIBS += -fopenmp

如其他一些堆栈溢出问题所建议的。但这并不能解决问题。有人能帮我解决这个问题吗?我在windows 7上使用qt creator 3.1.2与msvc2013编译器。

MSVC的链接器不需要也不接受/openmp选项。对于GCC,您只需要该选项(在这种情况下,该选项是-fopenmp)。虽然我现在使用CMake与QtCreator而不是qmake这里是一个例子从最后的qmake文件我使用。

msvc {
  QMAKE_CXXFLAGS += -openmp -arch:AVX -D "_CRT_SECURE_NO_WARNINGS"
  QMAKE_CXXFLAGS_RELEASE *= -O2
}
gcc {
  QMAKE_CXXFLAGS += -fopenmp -mavx -fabi-version=0 -ffast-math
  QMAKE_LFLAGS += -fopenmp
  QMAKE_CXXFLAGS_RELEASE *= -O3
}