• 40573阅读
  • 283回复

[共享]共享一下自己编译的Qt吧 【6.7.0-rc2 / 6.6.3 / 6.5.3 / 6.2.7 / 5.15.13】 [复制链接]

上一主题 下一主题
离线fsu0413

只看该作者 200楼 发表于: 2023-01-14
回 aivyna 的帖子
aivyna:Qt Creator 9.0.1 (Community)手动添加6.2.4 Dynamic & Shared Builds会报错,Qt6.2.4-Windows-x86_64-MinGWxx.x.x 报错
[图片]
[图片]
[图片]
....... (2023-01-14 00:38) 

动态的版本需要配合MinGW的库才能用,需要在我提供的地址下载对应的MinGW,把里面的dll复制到Qt库中

静态的我自己平时从来不用,等我有时间试试
我这边看relocatable属性都是开着的,因为Qt默认不在静态上开启relocatable功能,有可能是relocatable本身的问题
离线aivyna

只看该作者 201楼 发表于: 2023-01-14
回 fsu0413 的帖子

动态的版本需要配合MinGW的库才能用,需要在我提供的地址下载对应的MinGW,把里面的dll复制到Qt库中


这个方法官方或者哪里有说明需要复制哪些dll么?我试了同样是大佬你发布的5.15以及5.12的动态版本,事先不需要复制mingw的DLL,直接手动到qt versions那不会报错并且可用.
谷歌了大部分的教程都是直接找到qmake.exe即可,除了有可能会发生那个qt没有正确安装问题需要处理.


离线fsu0413

只看该作者 202楼 发表于: 2023-01-14
回 aivyna 的帖子
aivyna:这个方法官方或者哪里有说明需要复制哪些dll么?我试了同样是大佬你发布的5.15以及5.12的动态版本,事先不需要复制mingw的DLL,直接手动到qt versions那不会报错并且可用.
谷歌了大部分的教程都是直接找到qmake.exe即可,除了有可能会发生那个qt没有正确安装问题需要处理.
....... (2023-01-14 22:34) 

5.15 和 5.12 也得复制DLL。不需要复制DLL可能是环境变量里有它兼容的MinGW,比如 strawberry perl的默认安装愿意干这种事
https://github.com/StrawberryPerl/Perl-Dist-Strawberry/issues/11
需要复制的DLL是 MinGW 下面 bin目录下的那些dll,一般只需要 libstdc++ libgcc 和 libwinpthread开头的这三个,但是以防万一最好全复制

Qt 没有正确安装这个,还是我先查查吧。。。。
Qt本身也不测试静态+relocatable的用例,可能还是到最后得我们用户来贡献。。。。
离线aivyna

只看该作者 203楼 发表于: 2023-01-15
回 fsu0413 的帖子

5.15 和 5.12 也得复制DLL。不需要复制DLL可能是环境变量里有它兼容的MinGW,比如 strawberry perl的默认安装愿意干这种事



动态的版本需要配合MinGW的库才能用,需要在我提供的地址下载对应的MinGW,把里面的dll复制到Qt库中



全新安装了个win10 22h2反复测试了一下, 然后只安装qt-creator-opensource-windows-x86_64-9.0.1.exe,测试Qt Creator 9.0.1构建套件(Kit)设置:

1.编译器里手动添加x86_64-8.1.0-release-posix-seh-rt_v6-rev0的gcc和g++,然后Qt版本里添加Qt5.15.8-Windows-x86_64-MinGW8.1.0-20230108的qmake.exe不提示缺DLL,不报错且构建套件能正常使用.

2编译器里手动添加x86_64-12.1.0-release-posix-seh-rt_v10-rev0的gcc和g++,然后Qt版本里添加Qt6.2.4-Windows-x86_64-MinGW12.1.0-20230107的qmake.exe报错缺失DLL,需要手动复制DLL后构建套件才能正常使用.
离线fsu0413

只看该作者 204楼 发表于: 2023-01-15
回 aivyna 的帖子
aivyna:全新安装了个win10 22h2反复测试了一下, 然后只安装qt-creator-opensource-windows-x86_64-9.0.1.exe,测试Qt Creator 9.0.1构建套件(Kit)设置:
....... (2023-01-15 05:06) 

啊 我刚看了下,qmake在 Qt 5 的时候是静态的,无论怎么编译 qmake一直是静态的,不会缺DLL。
你可以试试用这个构建一下Qt项目,如果找不到dll的话,可能uic moc等工具还是不能用。
或者也可以双击一下里面的uic moc等工具看看是不是缺dll

我在考虑要不要在打包之前把这些DLL直接打进去。。。。
要不然太麻烦了
离线fsu0413

只看该作者 205楼 发表于: 2023-01-15
或者是Qt Creator把 MinGW 8.1.0的路径加入PATH了所以不报缺DLL。。。。。
如果是这样的话,也可以换用命令行 qmake试试
离线aivyna

只看该作者 206楼 发表于: 2023-01-15
回 fsu0413 的帖子

或者也可以双击一下里面的uic moc等工具看看是不是缺dll


刚又试验了一下,,5.15.8也的确如大佬你说的只是qmake.exe能直接用,uic.exe和moc.exe还是会提示缺DLL的
离线fsu0413

只看该作者 207楼 发表于: 2023-01-15
Qt 没有被正确安装这个是Qt 6.2.4 附带的qmake的bug。
我这边有一个 Qt 6.4的静态版,没有这个问题。

由于我这边Qt LTS以外版本的静态版只用来做交叉构建的host tool的,没有提供打包。
如果 Qt 6.5是LTS版本的话,到时候我会提供Qt 6.5的静态构建版。
离线fsu0413

只看该作者 208楼 发表于: 2023-01-16
6.5.0-beta1 我下载了一版 本地构建各种失败。。。。。。
等beta2或者rc吧,暂时先不报qtbug了,看tQtC能改多少
离线fsu0413

只看该作者 209楼 发表于: 2023-01-17
Qt 6.5.0-beta1 分发了一个组件叫做 QtGRpc
这个组件在 code.qt.io 上没有源代码,只有下载下来的这些东西能看到

这个组件里面有个 qtprotobufgen 的 tools,我这边暂时简单调了一下,没编出来,应该是依赖一个protobuf的库我没有附带导致的。
考虑到这个组件还比较新,可能里面有些问题连tQtC也没搞明白,所以这版我就先不编这个玩意了,等之后找个时间再看看。

顺便这版有莫名其妙的 rcc 执行连报错都没有就退出的现象,只有windows版有这个现象,linux和mac都没有,所以windows版基本都没编过。。。。。。
在线lixinwei

只看该作者 210楼 发表于: 2023-01-18
回 fsu0413 的帖子
fsu0413:
Qt 没有被正确安装这个是Qt 6.2.4 附带的qmake的bug。
我这边有一个 Qt 6.4的静态版,没有这个问题。
由于我这边Qt LTS以外版本的静态版只用来做交叉构建的host tool的,没有提供打包。
如果 Qt 6.5是LTS版本的话,到时候我会提供Qt 6.5的静态构建版。


https://bugreports.qt.io/browse/QTBUG-102877
qmake的bug可以通过qt.conf来解决:
  1. [Paths]
  2. Prefix=..
  3. HostPrefix=..

Prefix和HostPrefix都需要设置
离线fsu0413

只看该作者 211楼 发表于: 2023-01-25
回 fsu0413 的帖子
fsu0413:Qt 6.5.0-beta1 分发了一个组件叫做 QtGRpc
这个组件在 code.qt.io 上没有源代码,只有下载下来的这些东西能看到
这个组件里面有个 qtprotobufgen 的 tools,我这边暂时简单调了一下,没编出来,应该是依赖一个protobuf的库我没有附带导致的。
考虑到这个组件还比较新,可能里面 .. (2023-01-17 21:24) 

rcc连报错都没有就退出的问题是因为QtCore从6.5开始link到openssl导致的。
由于此前我并没有将openssl的dll/lib添加到path,使得运行时找不到openssl的dll导致报错。

在Qt5之前Qt构建过程中使用的所有组件都不依赖OpenSSL,可能是因为他们不使用QtNetwork的原因。
离线zhangxin

只看该作者 212楼 发表于: 2023-01-29
大佬,想请教个问题,我的qdoc编译好了,怎样才能用最新源码生成文档呢?按照官方文档的做法,生成出来的html数远比官方5.15.2提供的要少
离线fsu0413

只看该作者 213楼 发表于: 2023-01-29
回 zhangxin 的帖子
zhangxin:大佬,想请教个问题,我的qdoc编译好了,怎样才能用最新源码生成文档呢?按照官方文档的做法,生成出来的html数远比官方5.15.2提供的要少 (2023-01-29 14:57) 

。。。我正好不生成文档
离线zhangxin

只看该作者 214楼 发表于: 2023-01-29
回 fsu0413 的帖子
fsu0413:。。。我正好不生成文档 (2023-01-29 19:52) 

试了好多方法都不行,我只好重新编译了一遍然后生成了doc,其中会报一些错,但不会中断生成,出来的文档数量大概对得上,但是导入进去之后,文档没色彩,白花花一片,直接打开html是正常的,正在找原因。。真是一波三折
离线jobfind

只看该作者 215楼 发表于: 2023-01-31
静态库的路径如何放置啊
离线jinlong631

只看该作者 216楼 发表于: 2023-02-01
大佬您好 能否说一下qt5.15 在windows下的编译过程 需要哪些配置
我们都是和自己赛跑的人
在线lixinwei

只看该作者 217楼 发表于: 2023-02-01
回 zhangxin 的帖子
zhangxin:试了好多方法都不行,我只好重新编译了一遍然后生成了doc,其中会报一些错,但不会中断生成,出来的文档数量大概对得上,但是导入进去之后,文档没色彩,白花花一片,直接打开html是正常的,正在找原因。。真是一波三折 (2023-01-29 23:49)

您是按照什么样的步骤编译文档的?
我最近也在研究如何编译Qt5.15.8的文档,通过修改源码消除了很多警告和错误,目前生成的文档用浏览器和Qt Assistant打开看起来都是正常的(离线文档和官网的在线文档在样式上有所不同,能看就行)
离线zhangxin

只看该作者 218楼 发表于: 2023-02-01
回 lixinwei 的帖子
lixinwei:您是按照什么样的步骤编译文档的?
我最近也在研究如何编译Qt5.15.8的文档,通过修改源码消除了很多警告和错误,目前生成的文档用浏览器和Qt Assistant打开看起来都是正常的(离线文档和官网的在线文档在样式上有所不同,能看就行) (2023-02-01 17:40) 

其实我这几天都有研究过你关于这方面的回帖

一开始,是在我已经编译完安装好的情况下,编辑了一个master.qdocconf,把所有需要的配置路径写进去,然后用qdoc生成的,也就是官方提供的方法

后来,我发现这种方法生成的文档数量不全,比5.15.2官方提供的文档数量少很多

然后我又重新编译了一遍qt,使用nmake docs生成,这种方法生成出来的数量和大小基本对得上,打开html一切正常,但是导入assistant之后,html自带的css失效,导致链接的绿色文本效果等消失

后来就不知道怎么弄了,可能也就是你所说的样式上有所不同吧,就是只有白屏黑字蓝链接,没有官方5.15.2表现丰富

你现在有什么好的解决方案了吗?

忘了说,关于警告和错误,非常多,我用的vs2019,一开始我试的是LLVM官网提供的安装包,qdoc正常编译动态版本,生成文档时会提示QByteArrayList重定义之类的错误,还有can't link to index.html之类的警告
后来又试了你推荐的clang60,提示需要110及以上版本,我又试了110-15.0的所有版本,只有110正常编译,其它版本不可用,也就是说只有110及以下的版本可正常编译
在线lixinwei

只看该作者 219楼 发表于: 2023-02-03
回 zhangxin 的帖子
zhangxin:其实我这几天都有研究过你关于这方面的回帖
一开始,是在我已经编译完安装好的情况下,编辑了一个master.qdocconf,把所有需要的配置路径写进去,然后用qdoc生成的,也就是官方提供的方法
....... (2023-02-01 19:13)

QByteArrayList重定义之类的错误,以及can't link to index.html之类的警告,都是Qt源码本身的问题,与clang无关

Qt 5 的 Assistant 用的是 QTextBrowser,它对html和CSS的支持很不完善,你看到白花花一片是很正常的。
Qt 6 的 Assistant 和 Qt Creator 用的是 litehtml,显示效果就好多了。
离线zhangxin

只看该作者 220楼 发表于: 2023-02-03
回 lixinwei 的帖子
lixinwei:QByteArrayList重定义之类的错误,以及can't link to index.html之类的警告,都是Qt源码本身的问题,与clang无关
Qt 5 的 Assistant 用的是 QTextBrowser,它对html和CSS的支持很不完善,你看到白花花一片是很正常的。
Qt 6 的 Assistant 和 Qt Creator 用的是 litehtml,显 .. (2023-02-03 22:15) 

其实虽然会有不少的错误和警告,但大多都是重复的几个问题,好像对文档生成也没什么影响,你说Qt5的assistant对css支持不完善,那官方的5.15.2为什么就可以正常显示样式呢?.2和.8的样式上也没有区别吧
离线fsu0413

只看该作者 221楼 发表于: 2023-02-04
回 jinlong631 的帖子
jinlong631:
大佬您好 能否说一下qt5.15 在windows下的编译过程 需要哪些配置

5.15需要以下内容:

python 2!!!不是3!!!环境变量PATH要配置python.exe运行python 2.7

perl 5系列任意版本均可,我这边用的是strawberry perl,不要使用安装包安装,要手动构建环境变量中只有perl,使用安装包安装的话会把MinGW带入环境变量

比如我下载portable包,解压后在里面加了个文件夹叫env,里面放一个文件叫做perl.bat,内容如下
  1. [url=u.php?uid=73062]@echo[/url]   off
  2. setlocal
  3. call %~dp0..\portableshell.bat /SETENV
  4. cmd /d /c %~dp0..\perl\bin\perl.exe %*
然后把env放到环境变量PATH中

(编译WebEngine需要)node.js 14系列任意版本,bin文件夹放到环境变量PATH中


支持VS2015以后的版本和MinGW带GCC 8.1的版本,
MinGW版本放bin到环境变量PATH里就行,VS的话用Visual Studio附带的vsvars***的bat配置

本帖提到的人: @echo
离线fsu0413

只看该作者 222楼 发表于: 2023-02-04
这个 echo off 怎么放在代码段里还是会艾特到。。。。
离线fsu0413

只看该作者 223楼 发表于: 2023-02-04
回 jobfind 的帖子
jobfind:静态库的路径如何放置啊 (2023-01-31 12:04) 

5.12之前运行一下附带的QQtPatcher,5.15之后我这边配的是relocatable,应该放哪都能用
离线snow_man_0

只看该作者 224楼 发表于: 2023-03-09
刚自己编译了半天Qt6.4.2_msvc2022_64,出错

没想到你这边有,感谢!
离线fsu0413

只看该作者 225楼 发表于: 2023-03-11
无聊研究了一下Qt 6.2的webengine,发现 qtwebengine 这个仓库的 6.2 分支上的代码也是不公开的,只公开了 qtwebengine-chromium
qtwebengine 和 qtwebengine-chromium 两个仓库的 commit sha1 在yocto的meta-qt6里有,但是没有对应的qtwebegine仓库的相应提交,就算能编译过也可能功能不正常。。。。。

目前在Qt 6.2上编译Qt6.4的webengine有诸多问题,现在看来是 qtwebengine 仓库的内容对不上。。。。
离线fsu0413

只看该作者 226楼 发表于: 2023-03-12
基于上述原因Qt 6 LTS的webengine不再编译。有需求webengine的请使用最新版
离线qing666888

只看该作者 227楼 发表于: 2023-03-22
大佬这两个有debug版本吗?公司开发很多需要集成debug进行调试开发。下载你的集成了release的用的很完美,都不用官方在线安装的慢还只能到15.2,debug的运行了半天跑不起来,发现是个release版本。
Qt5.15.8-Windows-x86-VS2019-16.11.23-20230208.7z
Qt5.15.8-Windows-x86_64-VS2019-16.11.23-20230208.7z


离线fsu0413

只看该作者 228楼 发表于: 2023-03-22
回 qing666888 的帖子
qing666888:大佬这两个有debug版本吗?公司开发很多需要集成debug进行调试开发。下载你的集成了release的用的很完美,都不用官方在线安装的慢还只能到15.2,debug的运行了半天跑不起来,发现是个release版本。[表情]
Qt5.15.8-Windows-x86-VS2019-16.11.23-20230208.7z
Qt5.15.8-Windows-x8 .. (2023-03-22 14:53) 

不做 太大了
离线zhangxin

只看该作者 229楼 发表于: 2023-03-27
兄弟,你有没有发现QDateTime这个类在多线程环境下性能非常低下?
离线fsu0413

只看该作者 230楼 发表于: 2023-04-01
回 zhangxin 的帖子
zhangxin:兄弟,你有没有发现QDateTime这个类在多线程环境下性能非常低下? (2023-03-27 15:17) 

我没注意啊。。。
离线liyuankunbix

只看该作者 231楼 发表于: 2023-04-16
回 fsu0413 的帖子
fsu0413:QQtPatcher 更新记录:
2023.1.15
更新 QQtPatcher为0.8.2(功能无更新)。(后续构建会使用)
支持使用 Qt 6 进行构建,并删除目前已经被弃用的 QBS 工程文件。
....... (2019-05-22 08:38) 

楼主你好,感谢你的贡献。

然后我想问一个问题,如果从源码构建QtCreator是不是必须要用动态版本的QT,不能用静态版本的QT。我用你提供的静态版本的QT,一直没有成功过,用同版本的动态版本的QT就能编译通过
离线fsu0413

只看该作者 232楼 发表于: 2023-04-21
回 liyuankunbix 的帖子
liyuankunbix:楼主你好,感谢你的贡献。
然后我想问一个问题,如果从源码构建QtCreator是不是必须要用动态版本的QT,不能用静态版本的QT。我用你提供的静态版本的QT,一直没有成功过,用同版本的动态版本的QT就能编译通过 (2023-04-16 17:21) 

QtCreator要用插件,可能不能静态Qt,我没试过
离线xoxoj

只看该作者 233楼 发表于: 2023-05-06
请教一个问题,Qt6.5.0 自己编译的话,如何启用qWebEngine啊?我尝试自己编译了一下,然后想使用qwebengineView 一直提示没有这个头文件。
离线xoxoj

只看该作者 234楼 发表于: 2023-05-06
fsu0413大佬,能跟我说说 qt6.5如何包含qwebengine编译吗?我的平台是windows11 vs2022,你的包虽然好,但是没有debug版本啊,我需要debug啊
离线fsu0413

只看该作者 235楼 发表于: 2023-05-07
回 xoxoj 的帖子
xoxoj:fsu0413大佬,能跟我说说 qt6.5如何包含qwebengine编译吗?我的平台是windows11 vs2022,你的包虽然好,但是没有debug版本啊,我需要debug啊[表情]  (2023-05-06 17:36) 

QtWebEngine需要下面的东西:
1. Python3 (需要用pip装html5lib还是啥来着 忘了,我都是配好之后几个月不动的,忘了,最好上pypi上看一眼叫啥吧)
2. nodejs (10就行?我反正用14的)
3. GnuWin32中的几个程序,bison flex之类的(可以从Qt5复制,然后加到环境变量里。Qt6不附带这玩意)

debug版本我不准备编。
在线liulin188

只看该作者 236楼 发表于: 2023-05-10
感谢老哥为qt开源事业做出的贡献,象老哥致敬!
https://wiki.qt.io/Qt_5.12_Release
https://wiki.qt.io/New_Features_in_Qt_5.12
https://wiki.qt.io/Qt_5.12.0_Known_Issues
https://www.qt.io/blog/qt-5.13.2-released
https://www.qt.io/blog/qt-creator-4.10.2-released
https://wiki.qt.io/Qt_5.12_Tools_and_Versions
离线fsu0413

只看该作者 237楼 发表于: 2023-05-20
又被背刺了
CVE-2023-32762 和 CVE-2023-32763 发出来的时候我编译都完事了。。。

前两天拔牙,网页都还没更,今天刚更完网页,估计就要再进行下一次编译了。。。。
离线fsu0413

只看该作者 238楼 发表于: 2023-06-02
又被背刺了  CVE-2023-33285
离线gassiz

只看该作者 239楼 发表于: 2023-06-09
大神,5.15.10源码已经发布出来了,更新一下吗?
快速回复
限100 字节
 
上一个 下一个