gpt4 book ai didi

windows - Qt 5.0程序在QtCreator中运行但不在外部

转载 作者:可可西里 更新时间:2023-11-01 14:42:51 24 4
gpt4 key购买 nike

这里是上下文:

  • 我在 Windows 7 x64 下用 Qt 开发了一个程序。
  • 我已经升级到 Qt 5.0.1、QtCreator 2.6.1、Compiler VS2010。

现在状态:

  • 我的程序在 QtCreator 中运行良好,但是当我在外面尝试时,我收到了几个错误。
  • 我检查了这个主题,它给了我一些答案: qtcreator - exe does work fine inside qtcreator but doesn't outside
  • 因此,我添加了 Qt dll,这很有帮助,不再有Missing Libraries 消息。
  • 仍然,它不会在 QtCreator 之外运行(不再有错误消息,我只是没有运行)所以我添加了 platforms 目录,同时包含 qminimalqwindows dll,它没有帮助。
  • 我还按照提示下载并添加了 libEGL.dll,但没有结果。

我被困住了,真的可以提供一点帮助。

最佳答案

这是一个依赖问题,你的程序无法加载它的依赖,将依赖文件(DLL文件)复制到应用程序目录是一种临时方式,这是非常危险的方式,你的应用程序可能在目标机器上面临问题,如果目标机器上没有安装正确版本的 Microsoft Runtime Library,您的应用程序无法正常运行,您可以通过 Dependency Walker 找到您的应用程序需要它们的依赖项(DLL 文件) .

有两种方法可以解决这个问题:

第一个是使用 Microsoft Visual C++ 2010 Runtime installshield 中的组件(或其他版本取决于您使用它编译的运行时库的版本),该用户可以静默安装它,或者在不使用 installshield 的情况下使用其可执行二进制文件安装,然后将 DLL 文件复制到应用程序目录并分发它。

其次是使用静态编译方法来避免此类问题,但是对于应用程序的静态编译,如果您想将其分发到目标机器上,则需要商业许可证。

在目标机器上部署您的应用程序:

1) 放Microsoft Visual C++ 2010 Runtime库在您的应用程序文件夹中,因此用户将把它安装在他们的机器上。

2) 从应用程序文件夹中的Qt's bin 文件夹复制应用程序所需的依赖项(DLL 文件)(bin 文件夹路径: C:\Qt\Qt5.0.2\5.0.2\msvc2010\bin).

3) 从应用程序文件夹中的 Qt's plugins 文件夹复制 imageformats 文件夹(如果您在应用程序中使用任何图像资源文件)。

4) 从应用程序文件夹中的 Qt's plugins 文件夹中复制 platforms 文件夹。

Qt的plugins文件夹路径:C:\Qt\Qt5.0.2\5.0.2\msvc2010\plugins\

关于windows - Qt 5.0程序在QtCreator中运行但不在外部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15566037/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com