【问题标题】:Qt application can't find QtGui4.dll and QtCore4.dllQt 应用程序找不到 QtGui4.dll 和 QtCore4.dll
【发布时间】:2012-08-17 09:07:03
【问题描述】:

这个 Qt 应用程序是由 VS 2010 为最终用户编译的,但是执行的应用程序没有找到 Qt 的 dll。文件夹里有QtGui4.dll 和QtCore4.dll 怎么解决这个问题?

【问题讨论】:

  • 嗯,其实它似乎找到了DLL,但没有找到它需要的DLL中的具体函数。您能否仔细检查它实际上加载了正确的 DLL,并且没有从另一个应用程序中获取 Qt DLL。只需将您的 EXE 放入 Dependency Walker 中,然后查看您的 DLL 的路径。
  • @Bart 我认为你是对的。可能是他放了不同Qt版本的dll。
  • 仅供参考,可以找到 Dependency Walker at this link。将你的 exe 转储到那里,看看它告诉你什么。您可能必须明确打开路径的可视化。

标签: visual-studio-2010 qt dll


【解决方案1】:

欢迎来到地狱地狱!

每次使用 Qt 进行部署时,都必须确保

1) 您正在编译的库是相同的版本和相同的编译器 2)与系统路径中的其他库没有冲突 3) 如果你编译 Debug 你必须使用 *d.dll 版本的库

请确保例如,如果您的程序是使用 VC9 编译的,那么您的 dll 也是使用 VC9 编译的。

您可以通过一个名为 Dependency Walker 的非常有用的程序了解要链接哪些库。 http://www.dependencywalker.com/

【讨论】:

  • 谢谢你。正如你告诉我的,问题是因为它不是同一个编译器。
  • 不客气。永远记得使用相同版本的库和编译器,否则这种问题很常见。
【解决方案2】:

这是您的应用程序使用与 dll 不同的版本编译。 如果你从 VS 运行它是否有效?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-07
    • 2012-05-30
    • 1970-01-01
    • 2019-10-25
    • 1970-01-01
    相关资源
    最近更新 更多