Qt creator 如何设置静态编译

本文详细介绍了如何在Windows环境下从源码编译Qt静态库,包括配置、编译及安装步骤,帮助解决直接运行exe文件时需要额外拷贝动态库等问题。

背景

安装Qt时默认的是使用动态库,因此并没有提供编译好的静态库下载。因此,我们需要下载/安装相应的Qt源码,自己动手生成静态库。
不然没法直接一个exe运行,还需要拷贝动态库、配置环境变量等。

编译Qt

Qt5.8 在windows下静态编译
https://blog.youkuaiyun.com/zhaoxd200808501/article/details/79368841

http://c.biancheng.net/view/3858.html

1.配置Qt(1分钟)

切换到Qt的源码目录

cd C:\Qt\Qt5.9.9\5.9\Src

运行命令

configure.bat -confirm-license -opensource -platform win32-g++ -release -static -static-runtime -opengl desktop -qt-sqlite -qt-pcre -qt-zlib -qt-libpng -qt-libjpeg -qt-freetype -nomake tests -nomake examples -no-compile-examples -prefix "E:\Qt\Qt5.9.9\5.9.9\mingw53_32_static"

2.编译(4小时左右)

mingw32-make -j2

3.安装(20分钟左右,硬盘好的话会快点)

mingw32-make install

参加资料

Qt5.8 在windows下静态编译
https://blog.youkuaiyun.com/zhaoxd200808501/article/details/79368841

怎样静态编译Qt程序
https://jingyan.baidu.com/article/363872ec3db7386e4aa16f53.html

### 配置和执行静态编译 #### 准备工作 为了在 Qt Creator 中实现静态编译,需先获取并构建适合的 Qt 版本。通常情况下,官方提供的二进制版本是动态链接库形式分发的,因此需要自行下载源码并按特定参数编译静态库。 对于 Linux 平台而言,在开始之前应确保已安装必要的依赖项,比如 `g++` 编译器、`libgl1-mesa-dev` OpenGL 库开发文件以及其他可能涉及的第三方库头文件等[^1]。 #### 下载与配置 Qt 源代码 访问 Qt 官方网站或通过 Git 获取目标版本的源代码。解压后进入源目录,利用命令行工具进行如下操作: ```bash ./configure -static -prefix /path/to/install -no-opengl -nomake examples -nomake tests make -j$(nproc) make install ``` 此脚本中的 `-static` 参数指定了要生成静态库而非共享对象;而其他选项则用于减少不必要的组件以加快编译速度并减小程序体积大小。完成这一步骤之后便拥有了一个专为静态链接准备好的 Qt 环境[^4]。 #### 设置 Qt Creator 使用自定义 Qt 版本 启动 Qt Creator 后前往菜单栏选择 **Tools** -> **Options...**, 接着定位到左侧列表里的 "Build & Run" 分类下的 "Qt Versions": 点击右侧窗口底部的 “Add…” 按钮浏览至先前指定路径 `/path/to/install/qbin/qmake`, 添加新条目以便 IDE 能够识别这个特别定制过的 Qt 工具链[^2]. 随后在同一页面切换到 "Kits" 标签页来新建一条 Kit 记录关联刚才加入的 Qt 版本与其他必要属性(如编译器)。注意这里应当选用适用于当前主机架构类型的交叉编译器,如果有的话[^3]. 最后保存更改退出设置界面返回主编辑区。 #### 创建项目并启用静态链接模式 当一切就绪以后就可以像平常一样建立新的 C++ 项目了。不过需要注意的是,在 `.pro` 文件里添加一行或多行语句强制开启静态连接方式: ```qmake CONFIG += static QMAKE_LFLAGS += -Wl,-Bstatic LIBS += -lstdc++ ``` 以上指令告诉 qmake 及其背后驱动程序 gcc/g++ 尽量采用静态库代替默认行为即优先查找动态库加载[^5]。 至此已经完成了整个流程描述,现在可以正常编写业务逻辑测试成果啦!
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值