2013-06-04 144 views
3

我想编译http://www.kevinbeason.com/smallpt/ raytracer使用Qt5和Visual Studio 2012编译器。Qt5,Visual Studio 2012 Express和OpenMp。如何?

它的工作好了,但是当我试图通过添加

QMAKE_CXXFLAGS += -fopenmp 
LIBS += -fopenmp 

到project.pro 使用OpenMP的,Qt的说/ fopenmp无法识别和忽略。

当我编译使用VS命令

cl /c /O2 /EHsc /openmp main.cpp 

它的工作原理,我得到一个程序快3倍那么一个从Qt的编译。

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

在此先感谢。

+0

尝试使用'QMAKE_LFLAGS + = -fopenmp'而不是'LIBS + = -fopenmp'。 –

+0

相同。警告LNK4044:选项'/ fopenmp'非重新调用; ignorée –

+0

为什么downvote?请留下评论来解释原因或取消downvote。 –

回答

6

我终于得到了所有必需的元素,把它使用OpenMP从Qt Creator的编译:

  1. 添加#include <omp.h>有关人士介绍,如果您有 上述命令行编译它不是必需的。
  2. QMAKE_CXXFLAGS += -openmp添加到项目文件中。它不会工作 与-fopenmp。不需要像我那样的任何openmp库(LIBS += -openmp)既不为QMAKE_LFLAGS += -openmp
  3. 编译为发布。通过调试,它不会影响性能。

其他的优化选项在mkspecs\win32-msvc2012\ qmake.conf

希望这有助于别人已经配置。

+0

谢谢,正是我所缺少的。 – flankechen

相关问题