- 在Qt程序中,分动态库版本的Qt和静态库版本的Qt。
- 官方默认提供的二进制包就是动态库版本的Qt,如果自行编译则编译的时候对应参数 -shared。
- 静态库版本的Qt需要自行编译,编译的时候对应参数 -static,(理论上无论商业非商业使用Qt静态库需要收费,因为静态编译后都看不到Qt的相关库文件)。
- 使用动态库的Qt支持编译生成动态库和静态库(CONFIG += staticlib)的程序。
- 使用动态库的Qt程序支持动态库的引用(引用的时候 LIB += ,运行的时候需要动态库文件比如 .dll .so 文件支持)。
- 使用动态库的Qt程序支持静态库的引用(引用的时候 LIB += ,运行的时候无需库文件支持,可以理解为该文件已经和可执行文件合二为一,缺点是可执行文件体积变大)。
- 通过生成文件的个数和大小可以发现,静态库相当于把运行时需要的文件也一并合并到一个文件了,而动态库是拆分成两个文件,一个用于编译,一个用于运行。
- 上述动态库的规则也通用于静态库。
- 此规则应该是通用于其他语言框架。
- 很多人有个误区包括几年前的我,以为要用Qt编写静态库就必须用静态的Qt库,其实动态库的Qt也可以编写静态的库,只是该库不会生成动态库文件。
- 如果要将Qt程序编译成静态的可执行文件(单个文件无依赖),前提是所用的Qt库必须静态的。
posted @
2022-03-02 08:52
飞扬青云
阅读(
449)
评论()
编辑
收藏
举报
点击右上角即可分享
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2020-03-02 Qt编写的项目作品12-简易视频播放器
2020-03-02 Qt编写的项目作品11-带频谱的音乐播放器
2020-03-02 Qt编写的项目作品10-本地摄像头综合应用示例
2019-03-02 Qt编写守护程序保证程序一直运行(开源)
2011-03-02 C#通用类库--短信猫操作类2使用方法(原始AT命令)
2011-03-02 C#通用类库--短信猫操作类1(原始AT命令)
2011-03-02 C#string字符串的一些疑问