QT项目建立、运行和发布的过程

本文介绍了在QT中创建项目的过程,包括.pro文件和.pro.user文件的作用,以及编译后build目录的结构。当运行遇到动态链接库缺失问题时,提供了两种解决方案:复制DLL文件或设置环境变量。此外,还讲解了如何为QT应用程序设置图标,包括生成.ico文件、放置位置及在.pro文件中添加相应配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在qt帮助文档中索引模式下搜索creating,就能找到创建各类项目的具体过程,如下图:
在这里插入图片描述
创建成功后,项目目录中会包含六个文件,说明如下:

  1. .pro文件:项目文件,包含了此项目的相关信息;
  2. .pro.user文件:包含了本地构建信息,比如qt版本和构建目录等,所以将代码在别的电脑上运行时需要检查这个文件,确保qt版本和构建目录相同,否则不能运行;
  3. .h、.cpp、.ui分别是头文件、资源文件、界面文件;

当写完程序并编译运行之后会发现项目目录中多了一个build文件夹,这就是默认的构建目录,里面保存了编译生成的文件,如下图:
在这里插入图片描述
当然这个目录也是可以改变的,如下图:
在这里插入图片描述
所以可以好好设计一下自己的目录,让它看起来舒服;构建目录里有如下文件:

  1. 3个Makefile文件:编译文件
  2. ui_XXX.h文件
  3. 2个目录:debug和release,releas
### 如何在 Ubuntu 上打包发布 Qt 项目 #### 准备工作 为了成功打包发布 Qt 应用程序,在开始之前需确认已安装必要的工具。可以通过以下命令来验证 `linuxdeployqt` 是否已经正确安装: ```bash which linuxdeployqt ``` 如果未找到该命令,则需要按照官方指南下载最新版本的 `linuxdeployqt` 可执行文件[^3]。 #### 安装 LinuxDeployQt 工具 LinuxDeployQt 是用于简化应用程序部署过程的一个实用工具,支持多种框架技术栈的应用构建。对于基于 Qt 的应用来说尤为有用。可以从 GitHub 发布页面获取适用于当前系统的二进制文件,并将其放置在一个合适的目录内以便后续调用[^1]。 #### 编译 Release 版本的 Qt 程序 确保所开发的应用是以发行模式编译出来的,这通常意味着优化级别更高且不含调试信息。可以在终端中切换至项目的根目录并通过 qmake 或 CMake 来指定构建配置为 Release 模式: ```bash qmake CONFIG+=release make clean && make ``` 或者如果你使用的是 CMake 构建系统的话, ```bash cmake -DCMAKE_BUILD_TYPE=Release .. make clean && make ``` #### 创建打包结构 建立一个新的文件夹作为最终分发包的基础架构,比如命名为 "release" 并复制刚才生成的目标文件到这里面去: ```bash mkdir release cp path/to/binary ./release/ cd release ``` #### 使用 LDD 脚本来收集依赖项 编写一个简单的 shell script (`ldd.sh`) 自动化处理动态链接库的查找与拷贝操作。此脚本会读取目标可执行文件所需的共享对象列表并将它们一同加入到发布的档案里边: ```bash #!/bin/bash EXE='your_executable_name' PWD=$(pwd) files=$(ldd "$EXE" | grep -o '/.* ') for file in $files; do cp -v "$file" . done chmod +x *.so* ``` 请注意替换 `'your_executable_name'` 成实际使用的二进制名称[^5]。 #### 运行 LinuxDeployQt项目进行封装 最后一步就是利用前面准备好的一切资源配合 `linuxdeployqt` 命令完成整个打包流程。假设所有东西都位于同一级目录下,那么只需简单输入如下指令即可启动自动化打包进程: ```bash ./linuxdeployqt AppName.AppDir/usr/bin/AppName -appimage` 参数指示工具将结果导出成单个独立运行的应用镜像(AppImage),方便跨平台分享给其他用户而无需担心环境兼容性问题[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值