【问题标题】:The procedure entry point GOMP_parallel could not be located in the dll程序入口点 GOMP_parallel 无法位于 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。不要认为这是问题所在。

【问题讨论】:

    标签: c++ qt dll openmp libgomp


    【解决方案1】:

    好的,问题解决了。

    我从以下位置复制了 dll:

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

    代替:

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

    也许有人会觉得它有帮助。

    是的,Dependency walker 在这种情况下无济于事。那个 OpenMP dll 没有丢失,它只是不是我需要的那个。

    【讨论】:

      猜你喜欢
      • 2011-02-20
      • 1970-01-01
      • 1970-01-01
      • 2014-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-13
      • 2014-12-21
      相关资源
      最近更新 更多