程序入口点 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 中的主要内容,如果未能解决你的问题,请参考以下文章

过程入口点终止无法位于动态链接库中

MinGW“无法定位程序入口点 libiconv ...”

爬虫日记(73):Scrapy程序运行入口点分析

acrobat.exe无法找到入口无法定位程序输入点,无法识别编辑图片上文字

无法在 DLL 中找到入口点

我需要制作一个opencv 64 exe(错误无法加载程序入口点)