centos7发布qt程序

本文详细记录了在CentOS7环境下发布Qt程序的全过程,包括选择编译选项、使用linuxdeployqt处理依赖、配置环境变量、解决运行时错误等关键步骤,确保程序在其他Linux系统上能够顺利运行。

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

centos7发布qt程序遇到坑,处理方法记录一下。

1.编译选项  debug 和 release 选 release 静态编译
2.安装linuxdeployqt   在https://github.com/probonopd/linuxdeployqt/releases下载 linuxdeployqt-6-x86_64.AppImage  
下载即可运行
可以复制到 /usr/local/bin目录并使可执行
chmod +x linuxdeployqt-6-x86_64.AppImage
3. 修改/etc/profile
增加:export PATH=$PATH:/opt/Qt5.12.3/5.12.3/gcc_64/bin
保存后执行source /etc/profile
4.转到编译目标文件夹 
cd  build-dskclient-Desktop_Qt_5_12_3_GCC_64bit-Release
dskclient 是QT release出来的可执行文件,执行如下语句可复制依赖的文件到当前目录
执行linuxdeployqt-6-x86_64.AppImage dskclient -appimage

把build-dskclient-Desktop_Qt_5_12_3_GCC_64bit-Release 文件夹打包复制到其他Linux即可运行
5.运行复制过来的qt程序出现错误
./AppRun: symbol lookup error: /root/dskclient/plugins/platforms/../../lib/libQt5XcbQpa.so.5: undefined symbol: FT_Get_Font_Format
可以安装
yum install freetype-devel 即可解决
终于跑起来了

### 在 CentOS 7 上安装 Qt 5 的方法 #### 下载 Qt 安装包 可以通过官方提供的在线或离线安装器来下载并安装 Qt。以下是具体操作: 1. 访问 Qt 官方网站的发布页面,找到适合版本的链接。例如,可以使用以下命令通过 `wget` 工具下载指定版本的安装文件: ```bash wget https://download.qt.io/official_releases/qt/5.9/5.9.5/qt-opensource-linux-x64-5.9.5.run ``` 这里以 Qt 5.9.5 版本为例[^2]。 2. 给下载的二进制文件赋予可执行权限: ```bash chmod +x qt-opensource-linux-x64-5.9.5.run ``` 3. 执行该脚本来启动图形化安装向导: ```bash ./qt-opensource-linux-x64-5.9.5.run ``` #### 配置环境变量 完成安装后,为了方便调用 Qt 命令工具链以及支持动态链接库加载,需设置相应的环境变量。 1. 将 Qt 的 bin 路径加入到系统的 PATH 中。假设 Qt 安装到了 `/opt/Qt/5.9.5/gcc_64/bin`,可以在用户的 `.bashrc` 文件中添加如下内容: ```bash export PATH=/opt/Qt/5.9.5/gcc_64/bin:$PATH ``` 2. 对于动态链接库的支持,如果未将 Qt 库放置在标准路径下,则需要配置 LD_LIBRARY_PATH 或者修改 pro 文件中的选项。例如,在项目 .pro 文件中增加以下内容以便解决可能遇到的库无法定位问题: ```plaintext QMAKE_LFLAGS += -Wl,-rpath=\$$ORIGIN/../lib ``` 此外也可以全局设定 LD_LIBRARY_PATH 变量指向 Qt 库所在的目录[^3]: ```bash export LD_LIBRARY_PATH=/opt/Qt/5.9.5/gcc_64/lib:$LD_LIBRARY_PATH ``` #### 测试安装成功与否 验证安装是否正常工作的一个简单方式是尝试构建一个小例子程序。创建一个新的 C++ 源码文件 test.cpp 并写入基本窗口显示逻辑: ```cpp #include <QApplication> #include <QPushButton> int main(int argc, char *argv[]) { QApplication app(argc, argv); QPushButton button("Hello Qt"); button.resize(100, 30); button.show(); return app.exec(); } ``` 接着利用 qmake 和 make 构建此工程: ```bash qmake -project qmake make ./test ``` 如果一切顺利,将会弹出一个带有按钮的小型 GUI 窗口[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值