当我尝试从此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
}