我一直在互联网上搜索有关这方面的一些有用且清晰的信息,令人讨厌的是,这样一件微不足道的事情很难做到。
我需要的是为我的Qt项目创建一个可执行文件,以便在其他计算机上运行它。我的项目在Qt Creator中运行得很好,但是当我尝试运行在release文件夹中创建的可执行文件时,我得到了一些dll丢失的错误,虽然我已将它们全部放在我的.exe的同一目录中但我现在得到了一些关于dll(QtCore4.dll)中的程序中的入口点的错误。
解决方案看起来像是一个静态链接,我发现了很多关于它的信息,但它们都没有真正帮助我。这是我到目前为止所尝试的:
为此我找不到任何解决方案,所以我在这里,只是尝试为我的Qt项目创建一个可执行文件,希望你们能在这里给我一些启示。
答案 0 :(得分:16)
基本上你必须在qt树中深入寻找mingw子文件夹,qt实用程序驻留在qt树中,并复制所需的dll' s。
以下是基于QT 4.7.4的步骤,用于使用正确的共享库打包应用程序。
将至少这些文件复制到您的发布目录(.exe所在的位置)
我刚刚以这种方式构建,测试和部署了一个虚拟项目。
答案 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命令行窗口。
2-转到存在.exe文件的目录(使用cd命令)。
3-运行“ windeployqt.exe --quick”。命令
4-运行您的exe文件并享受它!