查看完整版本: [-- QT6.4.1 源码静态编译若干问题求助! --]

QTCN开发网 -> Qt安装与发布 -> QT6.4.1 源码静态编译若干问题求助! [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

leotao 2022-11-18 09:08

QT6.4.1 源码静态编译若干问题求助!

各位同学你们好, 我参考CSDN上的帖子对QT6.4.1 源码进行了编译, 配置和编译和安装都比较顺利,但遇到了以下几个问题。

源码下载,工具链安装,配置,编译,安装的过程我就简述了。

1、 在官网下载 qt-everywhere-src-6.4.1.zip

2、准备工具链,VS2019 Build tools ,把C++可选的部分都打勾,否则编译到 altbase.h的时候就出错了,把语言选成英文,否则编译的时候会出现满屏的注意:头文件xxxxxxxx 提示。
3、配置,在d:\qt\6.4.1\build 目录下 执行

   set path=d:\qt\6.4.1\build\qtbase\bin;%PATH%
..\src\configure.bat -static -static-runtime -debug-and-release -optimize-size -prefix "d:\qt\6.4.1\msvc_2019_staic" -platform win32-msvc
配置完成后开始编译
4、 cmake --build  .    即可,parallel 参数可选,默认会开多进程编译,我的机器上最多会有12个 cl.exe 进程, 大约一个多小时就编译完成了。
5、cmake --install .   很快也完成了安装。

-----------------------------------------------
到这里,看起来一切正常,但我发现了几个问题:

1、编译的时候,在 d:\qt\6.4.1\build\qtbase\lib 目录中是生成了 debug 的lib, 但cmake --install 的时候, debug 的库并没有拷贝到安装目录d:\qt\6.4.1\msvc_2019_staic,只有release的库,这个是为什么?
需要我手工把debug 的库拷贝过去

2、创建一个测试的项目,最简单的那种,无论选择 Debug 模式还是 Release 模式,都是链接 qt6core.lib  ,不知有没有人遇到? CMAKE 中还需要哪些设置?



lixinwei 2022-11-18 22:36
1、编译的时候,在 d:\qt\6.4.1\build\qtbase\lib 目录中是生成了 debug 的lib, 但cmake --install 的时候, debug 的库并没有拷贝到安装目录d:\qt\6.4.1\msvc_2019_staic,只有release的库,这个是为什么?
需要我手工把debug 的库拷贝过去
这是cmake的一个已知bug,用ninja install 或者 cmake --install . --config Release && cmake --install . --config Debug

2、创建一个测试的项目,最简单的那种,无论选择 Debug 模式还是 Release 模式,都是链接 qt6core.lib  ,不知有没有人遇到? CMAKE 中还需要哪些设置?
如果你只拷贝了debug的lib,没有把Qt6CoreTargets-debug.cmake之类的文件拷贝到相应的目录,cmake无法找到debug库,只能链接到Qt6Core.lib,需要运行我上面提到的命令来正确地安装


fsu0413 2022-11-19 07:14
楼上都回答了,我就不掺和了。。而且我不用debug版的
而且Qt 6之后我不用configure,都是直接用CMake程序的

leotao 2022-11-25 07:58
非常感谢楼上的兄弟


查看完整版本: [-- QT6.4.1 源码静态编译若干问题求助! --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled