Qt5,Visual Studio 2012 Express和OpenMp.如何?

Yas*_*oui 4 qt openmp visual-studio

我正在尝试使用Qt5和Visual Studio 2012编译器编译http://www.kevinbeason.com/smallpt/ raytracer.

它工作正常但是当我尝试通过添加使用openmp时

QMAKE_CXXFLAGS += -fopenmp
LIBS += -fopenmp
Run Code Online (Sandbox Code Playgroud)

对于project.pro,Qt说/ fopenmp不被识别和忽略.

当我使用VS命令编译时

cl /c /O2 /EHsc /openmp main.cpp
Run Code Online (Sandbox Code Playgroud)

它有效,我得到的程序比从Qt编译的程序快3倍.

如何让Qt识别openmp以及如何在命令行中启用其他优化?

提前致谢.

Yas*_*oui 7

我终于得到了所有必需的元素,用Qt Creator的openmp编译:

  1. 添加#include <omp.h>到源代码,如果使用上面提到的命令行进行编译,则不需要.
  2. 添加QMAKE_CXXFLAGS += -openmp到项目文件中.它无法使用-fopenmp.不需要任何像我这样的openmp lib(LIBS += -openmp)QMAKE_LFLAGS += -openmp
  3. 编译为发布.通过调试,它对性能没有影响.

已配置其他优化选项 mkspecs\win32-msvc2012\ qmake.conf

希望这有助于其他人.