【发布时间】:2012-08-26 18:53:36
【问题描述】:
我使用 MinGW GCC 创建了默认 MainWindow 的可执行文件(没有更改任何代码),并将 .exe 文件从调试目录移动到另一个目录,其中我有 QtCored4.dll,QtGuid4.dll 和 QtNetworkd4.dll。
当我单击可执行文件时,我收到错误消息:
在动态链接库QtGuid4.dll中找不到程序入口点_ZN7QWidget8winEventEP6tagMSGPI。
使用 Dependency Walker 打开我的可执行文件会给我以下通知:
错误:由于隐式依赖模块中缺少导出函数,至少一个模块具有未解析的导入。 警告:至少没有找到一个延迟加载依赖模块。 警告:由于延迟加载依赖模块中缺少导出功能,至少有一个模块存在未解析的导入。
我真的不知道我哪里出错了,如果有任何帮助,我将不胜感激。谢谢!
【问题讨论】:
-
您确认 Qt dll 上的校验和是否相同?
-
您从哪里获得 DLL?如果您自己构建它们,那么配置是什么?以及哪些设置用于构建可执行文件?
-
我从来没有能够使用 Qt 创建一个独立的可执行文件...如果你发现了,我很想知道该怎么做。有人告诉我你需要许可证。
-
在我看来,您拥有来自不同编译器或不同版本 Qt 的 Qt dll。
-
@NekkoRivera 您无需购买商业许可证即可编译独立的可执行文件,但您的程序必须在与 Qt 库相同的许可证下分发:LGPL。您可以将您的专有程序“动态链接”到 Qt 库,因为 LGPL 旨在允许专有应用程序使用开源库。
标签: c++ qt dll mingw dependency-walker