当我尝试从此website编译openmp cpp文件时,我得到一个链接警告,指出openmp标志被忽略。

LNK4044:unrecognized option '/openmp'; ignored

我已经将这些代码添加到了专业版中。文件
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
}

10-05 23:53