编译 windows 上的 qt 静态库
记录命令行编译过程:
针对 Qt 5.15.2 版本,
只需要 Source 文件就行
打开 x86 Native Tools Command Prompt for VS 2019,如果需要编译 x64 静态库,选择 x64 Native Tools...
在命令窗口中输入 Source 的路径,如果在其他盘下,可以先切换盘路径
比如:cd /d D:\Qt6\5.15.2\Src
切换完之后,输入
configure -confirm-license -opensource -static -static-runtime -debug-and-release -mp -nomake examples -nomake tests -skip qtwebengine -silent -prefix "..\msvc2019_x86_static"
上面命令行运行结束后,输入nmake 和 nmake install
最后会生成一个 msvc2019_x86_static 的文件夹
Qt 5.15.2 的静态库一般都可以编译成功,理论上编译 Qt 6.4 的版本应该也行,但是在尝试了多遍后,仍然会报错
可以下载 6.4.0 离线版本做测试
这边先写下我解决的部分问题,
在输入 configure ... 这段长命令后,可能会出现 Perl needs to be available to build Qt 的错误
我们需要下载并安装 Perl 工具
任选一个下载即可
Perl 安装成功后,我们需要将 x86 Native Tools 窗口重新打开(用管理员权限打开)并再输入一遍 Configure 的长命令
这个步骤一般不会再报错
在 Configure 成功后,输入
cmake --build . --parallel
这个过程时间比较长,可能得一个多小时,完事后再输入
cmake --install .
这两个步骤中没出现错误一般就说明编译成功
我编译时一直出现 “调用约定不同” 错误
这个错误目前为止还未解决
P.S. Qt6.2.4 也能够成功编译静态库
补充:
我们也可以下载离线包,网址如下:
编译 windows 上的 qt 静态库的更多相关文章
- 在Windows 环境下编译Qt静态库(QT5.32)
参考链接 Qt5.3 Tools and Versions MinGW ICU ActivePerl Qt 安装MinGW工具链环境 这里在Win32环境下要安装一个MinGW工具链,这里最好是先安装 ...
- Qt5.7中使用MySQL Driver(需要把libmysql.dll文件拷贝到Qt的bin目录中。或者自己编译的时候,链接静态库)
Qt5.7中使用MySQL Driver 1.使用环境 Qt5.7的安装安装就已经带了MySQL Driver,只需要在安装的时候选择一下即可.如果没有安装,可以采取自己编译的方式.在Qt的源码包的q ...
- windows上用vs2017静态编译onnxruntime-gpu CUDA cuDNN TensorRT的坎坷之路
因为工作业务需求的关系,需编译onnxruntime引入项目中使用,主项目exe是使用的vs2017+qt5.12. onnxruntime就不用介绍是啥了撒,在优化和加速AI机器学习推理和训练这块赫 ...
- IOS 之 PJSIP 笔记(一) 编译多平台支持的静态库
好久没有写博客了,这也算是我步入新工作后的第一篇技术博文吧.在进入新公司前,早就有了技术层进入下一个迭代的准备,但很多事情是意想不到的,就像我以 C# 程序员的身份面试入职的,而今却是一个全职的 IO ...
- windows上的Qt 5的依赖部署打包
通常我们编译Qt程序的时候最终会生成exe或dll,这些可执行文件都会有Qt模块的依赖,如果项目一旦庞大,就不是很好看出缺了什么模块,导致安装包安装到其他绿色干净的windows机器上会提示缺少XXX ...
- QT静态库和动态库的导出
因为静态库是不须要导出的.所以在写QT的前置声明的时候须要说明 #if defined(QT_SHARED) #ifdef COMMONLIB #define COMMONLIB_EXPORT Q_D ...
- Qt 静态库与共享库(动态库)共享配置的一个小办法
对于用 QtCreator 编写静态库,动态库,如何能够以最小的改动, 方便的实现两种形式的库文件生成:可以这麽做: 1)使用想到建立静态库 2)在项目配置文件*.pro 中: TARGET = n ...
- VS2012中使用编译的Qt-5.1.1静态库开发程序
1. 安装qt-vs-addin-1.2.2-opensource.exe,安装之后,vs2012菜单栏就会出现QT5菜单. 2. 在qt-vs-addin添加Qt5静态库: QT5->Qt O ...
- windows上的QT发布
1. 生成exe 1.1 release 条件下编译 1.2 将QT bin路径加入到path中去 1.3 将1.1生成的exe拷贝到单独的目录,然后cmd到这个目录,使用windeployqt编译 ...
- qt 静态库中貌似不能使用静态属性
今天一个问题搞的很郁闷,原本好好的工程,这两天加了几个类之后链接不通过了. 发现过程略去不说,最后去掉了类中的static属性,编译通过了.具体原因没时间仔细查了,反正尽量避免在静态链接库里使用sta ...
随机推荐
- [转帖]OceanBase v4.2新增字符集GB18030_2022说明
OceanBase v4.2新增字符集GB18030_2022说明 https://open.oceanbase.com/blog/7698399520 1. 概述 GB18030 标准作为信息技术 ...
- [转帖]【性能】大页内存 (HugePages)在通用程序优化中的应用
目录 1. 背景 2. 基于指纹的音乐检索简介 3. 原理 4. 小页的困境 5. 大页内存的配置和使用 6. 大页内存的优化效果 7. 大页内存的使用场景 8. 总结 LD_PRELOAD用法 原文 ...
- [转帖]MySQL ALTER TABLE: ALTER vs CHANGE vs MODIFY COLUMN
https://www.cnblogs.com/pachongshangdexuebi/p/5029152.html ALTER COLUMN 语法: ALTER [COLUMN] col_name ...
- [转帖]OceanBase 在线与离线安装方式详解
各位好,今天给大家带来一篇有关 OceanBase 在线与离线安装方式的解读.首先我们来讨论一下一日常工作中的一些场景,大家经常会遇到以下几种情况: 公司网络条件很不错,在线下载速度很快,安装软件直接 ...
- ebpf的简单学习
ebpf的简单学习-万事开头难 前言 bpf 值得是巴克利包过滤器 他的核心思想是在内核态增加一个可编程的虚拟机. 可以在用户态定义很多规则, 然后直接在内核态进行过滤和使用. 他的效率极高. 因为避 ...
- [转帖]CentOS8完美升级gcc版本方法
https://blog.whsir.com/post-6114.html 在CentOS8系统中,默认gcc版本已经是8.x.x版本,但是在一些场景中,还是需要高版本的gcc,网上一些作死的文章还在 ...
- ESXi6.5 登录后出现错误 必须 退出的解决办法
- Nginx 大并发 调优设置
为了性能测试,放弃部分功能,保证绝对性能. 注意可能不能用于生产环境. 下面开始简单讲解. 1. worker_processes 工作线程数. 发现不用太多 一定不能多于操作系统的CPU核数. 2. ...
- Spring Boot 统一RESTful接口响应和统一异常处理
一.简介 基于Spring Boot 框架开发的应用程序,大部分都是以提供RESTful接口为主要的目的.前端或者移动端开发人员通过调用后端提供的RESTful接口完成数据的交换. 统一的RESTfu ...
- 原生js中offsetTop, offsetLeft与offsetParent的详细讲解
简单说下:offsetTop offsetTop: 为只读属性. 返回的是一个数字. 它返回当前元素相对于其 offsetParent 元素的顶部内边距的距离. 它等价于offsetTop==> ...