• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Visual Studio 打包源文件为可执行.exe程序(带有Qt Tool和第三方库)

武飞扬头像
程序菜鸟一只
帮助1

写在前面 :
寻找这个打包方法的起因是我用Qt写一个大作业,为了能把程序打包好,从ChatGPT和网上找了不少的内容, 花了差不多一天的时间才打包完成 , 下面的是打包过程中顺便用Obsidian记的一些

打包完成后,你可以将程序发到你同学的电脑上, 这样在他们的电脑上即可执行你写的程序。

我使用的Visual Studio是Visual Studio 2019以及对应下载的QT VS Tools 的扩展连接Qt 进行桌面应用程序(Qt Widgets Application) 进行开发的,另外在项目中,也引用了第三方库(Eigen, Boost, CGAL), 所以打包起来会比较麻烦。

另外也说明一下,我也看过使用Visual Studio Installer打包Visual Studio程序为exe文件, 不过因为我的第三方库比较多,并且有Qt依赖, 所以就没有用直接加入源文件的方法。

具体来说其实是直接使用Visual Studio里面的Release的功能进行打包的。


首先说明一下, Qt 6.5.0 中, 安装打包程序会发生错误, 我到网上查了一下,这个是6.5.0版本的内部原因, 如果您使用的是6.5.0版本, 请卸载后重装6.5.1版本进行打包程序


打包步骤

要将Visual Studio 2019中的带有Qt扩展的项目打包为可执行文件.exe文件,需要遵循以下步骤:

  1. 在Visual Studio中,在解决方案资源管理器中,右键单击项目,然后选择“属性”。在“配置”下拉菜单中,选择“Release”。
    学新通

  2. 确保项目已正确配置,包括附加的包含路径和库。在项目属性中,转到“C/C ”->“General”,并检查“附加包含目录”是否包含了Qt头文件和第三方库的路径。然后转到“Linker”->“General”,检查“附加库目录”是否包含了Qt库和第三方库的路径(需要包含你使用的第三方库的include和lib路径,并且程序能够正常运行。如果是用NuGet配置的库,则跳过) (这个步骤如果你的程序能正常运行并且没有绝对路径包含项,那么一般来说你已经做好了)

  3. 使用windeployqt将Project的属性中的Qt Project Settings 里面的 Run Deployment 选成Yes (默认是No) 即可(下面图里面的Run Deployment Tool选项要改成Yes)

  • 注: 为了保证windeployqt正常运行,需要将 E:\Qt\6.5.1\msvc2019_64\bin 添加到系统环境变量Path中, 对应的windeployqt 工具才有效

另外加上如何测试项目的windeployqt是否成功: 先Build一下解决方案,然后在项目的 x64/Debug 或者Release文件夹下面(如果没有按照4更改, 就是Debug文件夹)你会找到.exe文件, 此时, 在对应的文件夹里面

windeployqt FriskFEM.exe     // FriskFEM换成你的可执行文件exe

如果没有报什么错,说明基本没问题了,如果是没有找到windeployqt, 请按照上述说明先配置路径,如果是异常终止了, 那么你的Qt可能是6.5.0版本,请卸载重装6.5.1版本进行打包。

  1. 然后右击解决方案, 在配置框中选择Configuration Properties, 然后打开右上角的 Configuration Properties, 此时你的Configuration Manager可能还是Debug, 此时请确保将你的程序设置为Release (都要求是Release), 如下图所示
    学新通
    另外需要说明的是,如果你是卸载重装Qt之后,项目整体配置转换成Release之后可能会发现项目找不到Qt的问题,请在Project -> Properties -> Qt Install ation 重新选取你需要的Qt版本。
    学新通
  2. 选择项目的输出目录:
    在项目配置(Project-> Properties) ->Qt Deploy Tool -> Debug/Release Binaries 中,将对应的选项更改为Release
    学新通
  3. 再次构建项目。在解决方案资源管理器中,右键单击项目,然后选择“Build Solution”。
    学新通
    然后你就会在项目(一般是和.sln文件相同路径下)的 x64文件夹中,会出现Release路径
    学新通
    打开Release文件夹,项目如图所示:
    学新通
    注意里面的部分是Qt6Gui和Qt6Widgets.dll等等,如果是Qt6Guid, 那么是上面一步的Debug/Release Binaries 没有设置好

接下来就打包成功了,此时你就可以直接将Release 文件夹压缩之后发给其他人,程序就可以在他人的电脑上运行了。


虽然这一期也依旧挺水的(加上此时也是考试周), 实际上为了程勋能够正常运行,作者在包括室友和其他同学的电脑上测试过七八次才成功运行的,程序调试不易, 如果这个文章对你有帮助, 还是希望能给这篇文章点个赞再走吧!

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhggefie
系列文章
更多 icon
同类精品
更多 icon
继续加载