无法在dll

时间:2016-06-04 11:53:03

标签: c++ qt dll openmp libgomp

我有一个使用OpenMP的QT应用程序。 (mingw,win8) 我想在没有qt创建者的情况下使用.exe文件。我已经将所有dll放在build目录中,但是当我运行.exe文件时仍然会收到此消息。

顺便说一句,如果我从Qt创建者那里运行它,一切正常。

这是我在我的应用中唯一的OpenMP代码:

#pragma omp parallel for schedule(dynamic, 1)

这就是我在.pro文件中启用OpenMP的方法

QMAKE_CXXFLAGS+= -fopenmp
QMAKE_LFLAGS +=  -fopenmp

不确定是否重要,但此代码适用于QThread。我的意思是我有一个用于GUI的线程,第二个用于计算。

为什么会发生这种情况?

UPD

是的,我也把libgomp-1.dll放在那里。

更新2

Dependency walker刚刚展示了几个缺少的微软dll。不要以为这就是问题所在。

1 个答案:

答案 0 :(得分:0)

好的,问题解决了。

我复制了dll:

\Qt\Qt5.5.1\5.5\mingw492_32\bin\

而不是:

\Qt\Qt5.5.1\Tools\mingw492_32\bin\

也许有人会发现它有用。

是的,依赖步行者在这种情况下不会有所帮助。那个OpenMP dll并没有丢失,它不是我需要的那个。