如何为Qt应用程序创建可执行文件?

时间:2011-11-29 14:47:28

标签: c++ windows visual-studio qt

我一直在互联网上搜索有关这方面的一些有用且清晰的信息,令人讨厌的是,这样一件微不足道的事情很难做到。

我需要的是为我的Qt项目创建一个可执行文件,以便在其他计算机上运行它。我的项目在Qt Creator中运行得很好,但是当我尝试运行在release文件夹中创建的可执行文件时,我得到了一些dll丢失的错误,虽然我已将它们全部放在我的.exe的同一目录中但我现在得到了一些关于dll(QtCore4.dll)中的程序中的入口点的错误。

解决方案看起来像是一个静态链接,我发现了很多关于它的信息,但它们都没有真正帮助我。这是我到目前为止所尝试的:

  • 使用我在上面说过的release文件夹中创建的可执行文件。
  • 静态链接,遵循本教程(以及其他许多内容,几乎都是一样的):http://doc.qt.io/qt-4.8/deployment-windows.html但是在“configure -static”期间我收到以下错误:NMAKE:致命错误U1077:'“c: \ Arquivos de programas \ Microsoft Visual Studio 9。 0 \ VC \ BIN \ cl.EXE“':返回代码'0x2' 停止。 构建qmake失败,返回代码2

为此我找不到任何解决方案,所以我在这里,只是尝试为我的Qt项目创建一个可执行文件,希望你们能在这里给我一些启示。

4 个答案:

答案 0 :(得分:16)

基本上你必须在qt树中深入寻找mingw子文件夹,qt实用程序驻留在qt树中,并复制所需的dll' s。

以下是基于QT 4.7.4的步骤,用于使用正确的共享库打包应用程序。

  1. 让我们说你已经在c:\ qtsdk下安装了QT
  2. 打开您的项目,并以发布模式进行编译。
  3. 转到此目录:C:\ QtSDK \ Desktop \ Qt \ 4.7.4 \ mingw \ bin - 它包含所有共享库。调试库以" d"结尾。 - frex,QtCore.dll是发布版本,而QtCoreD.dll是调试版本
  4. 至少这些文件复制到您的发布目录(.exe所在的位置)

    • mingwm10.dll
    • libgcc_s_dw2-1.dll
    • QtCore4.dll
    • QtGui4.dll

    我刚刚以这种方式构建,测试和部署了一个虚拟项目。

答案 1 :(得分:3)

以下是我的所作所为,经过一段时间后我才开始工作;在确保你的程序在Qtcreator中构建之后,转到包含你的exe的目录并双击它。(我正在使用windows和don不知道在其他平台上是否相同。。弹出一个窗口,告诉你哪个.dll丢失了。转到安装Qt的目录,在搜索栏中输入确切名称(Windows 7右上角)并且dll应该显示在搜索结果中。右键单击并选择打开文件位置。复制exe所在的文件。再次单击exe文件。如果缺少另一个.dll重复相同的操作,直到没有丢失。你的程序应该运行的结束。 希望这会有所帮助。

答案 2 :(得分:2)

所以你下载了Qt SDK并想要将Qt库静态链接到你的应用程序中,对吧?

首先,如果你静态链接,你不需要任何Qt * .dll存在于任何地方,因为它内置在应用程序中。所以这就意味着你的应用程序是使用动态链接构建的。

根据我的经验,最安全的方法是:

下载Qt源代码,使用nmake构建和安装它们(使用菜单开始的Visual Studio命令提示符 - >应用程序 - > Visual Studio 2008)。请记住,静态链接应用程序的大小取决于* .libs的大小,这取决于预构建配置,例如,您可以通过关闭某些功能来最小化应用程序的大小(这是MacOSX的一个示例配置,只需注意特定于Windows的配置并添加适当的plaftorm - 有关详细信息,请参阅configure.exe --help

./configure -arch x86 -platform macx-g++ --universal -cocoa -debug-and-release -opensource -static -fast -no-accessibility -no-sql-sqlite -no-qt3support -no-opengl -no-openvg -qt-zlib -no-gif -no-libmng -qt-libmng -no-libtiff -qt-libjpeg -no-3dnow -sse -no-sse2 -no-openssl -no-dbus -no-phonon -no-multimedia -no-audio-backend -webkit -no-script -no-scripttools -no-declarative -nomake demos -nomake examples -no-exceptions -no-accessibility -confirm-license

为您安装,设置和使用Visual Studio加载项Qt项目(here)。

祝你好运! :)

答案 3 :(得分:0)

执行以下步骤:

1-打开qt命令行窗口。

Qt command-line window

2-转到存在.exe文件的目录(使用cd命令)。

3-运行“ windeployqt.exe --quick”。命令

4-运行您的exe文件并享受它!

This video is great