程序入口点 GOMP_parallel 无法位于 dll 中
Posted
技术标签:
【中文标题】程序入口点 GOMP_parallel 无法位于 dll 中【英文标题】:The procedure entry point GOMP_parallel could not be located in the dll 【发布时间】:2016-06-04 11:53:02 【问题描述】:我有一个使用 OpenMP 的 QT 应用程序。 (明威,win8) 我想使用没有 qt creator 的 .exe 文件。我已经把所有的 dll 放到了 build 目录下,但是当我运行 .exe 文件时,我仍然收到这个消息。
顺便说一句,如果我从 Qt 创建器运行它,一切正常。
这是我的应用程序中唯一的 OpenMP 代码:
#pragma omp parallel for schedule(dynamic, 1)
这就是我在 .pro 文件中启用 OpenMP 的方式
QMAKE_CXXFLAGS+= -fopenmp
QMAKE_LFLAGS += -fopenmp
不确定是否重要,但此代码在 QThread 中有效。我的意思是我有一个用于 GUI 的线程和第二个用于计算的线程。
任何想法为什么会发生这种情况?
更新
是的,我也放了libgomp-1.dll
。
更新 2
Dependency walker 刚刚显示了几个缺少的 microsoft dll。不要认为这是问题所在。
【问题讨论】:
【参考方案1】:好的,问题解决了。
我从以下位置复制了 dll:
\Qt\Qt5.5.1\5.5\mingw492_32\bin\
代替:
\Qt\Qt5.5.1\Tools\mingw492_32\bin\
也许有人会觉得它有帮助。
是的,Dependency walker 在这种情况下无济于事。那个 OpenMP dll 没有丢失,它只是不是我需要的那个。
【讨论】:
以上是关于程序入口点 GOMP_parallel 无法位于 dll 中的主要内容,如果未能解决你的问题,请参考以下文章