• 40521阅读
  • 283回复

[共享]共享一下自己编译的Qt吧 【新增 Windows on ARM64 Qt 6 构建】 [复制链接]

上一主题 下一主题
离线fsu0413

只看该作者 120楼 发表于: 2022-03-22
回 hcaihao 的帖子
hcaihao:设置启用aero效果的,做无边框窗口必用的api (2022-03-22 13:29) 

咦。。。我之前也做过无边框,也没印象用过这个API
离线hcaihao

只看该作者 121楼 发表于: 2022-03-23
回 fsu0413 的帖子
fsu0413:咦。。。我之前也做过无边框,也没印象用过这个API (2022-03-22 19:25) 

自绘阴影的话可以不用,但是兼容性没这个好
离线fsu0413

只看该作者 122楼 发表于: 2022-03-25
回 hcaihao 的帖子
hcaihao:
自绘阴影的话可以不用,但是兼容性没这个好

我应该是连阴影都没画,细节什么的最讨厌了
离线xlinger

只看该作者 123楼 发表于: 2022-03-25
有考虑编译 debug 版本吗?
离线fsu0413

只看该作者 124楼 发表于: 2022-03-25
回 xlinger 的帖子
xlinger:有考虑编译 debug 版本吗? (2022-03-25 11:41) 

不考虑,占地方
离线20091001753

只看该作者 125楼 发表于: 2022-03-26
5.15.3,bin 文件夹,打包时缺少 3个文件,少了他们,将无法编译 APP:
libgcc_s_seh-1.dll
libstdc++-6.dll
libwinpthread-1.dll

但他们可以在 官方的 5.15.2 的 bin 目录内找到。
(づ ̄ 3 ̄)づ
离线fsu0413

只看该作者 126楼 发表于: 2022-03-26
回 20091001753 的帖子
20091001753:5.15.3,bin 文件夹,打包时缺少 3个文件,少了他们,将无法编译 APP:
libgcc_s_seh-1.dll
libstdc++-6.dll
libwinpthread-1.dll
....... (2022-03-26 02:57) 

我是故意没放的,这3个文件都可以在mingw里找到
而且这三个文件编译要用,运行也要用
离线icbluty

只看该作者 127楼 发表于: 2022-04-25
感谢楼主奉献,特意注册前来回帖支持!
离线hcaihao

只看该作者 128楼 发表于: 2022-04-26
5.15.3的qtwebengine有严重的内存泄露问题,楼主遇到过吗。5s刷新一下网页,半小时增加150m。。。放着不动都会缓慢泄露
离线fsu0413

只看该作者 129楼 发表于: 2022-04-26
回 hcaihao 的帖子
hcaihao:5.15.3的qtwebengine有严重的内存泄露问题,楼主遇到过吗。5s刷新一下网页,半小时增加150m。。。放着不动都会缓慢泄露 (2022-04-26 12:34) 

我自己不用webengine。。。。。。
离线angelus

只看该作者 130楼 发表于: 2022-05-20
什么时候出ios版本
离线fsu0413

只看该作者 131楼 发表于: 2022-05-21
回 angelus 的帖子
angelus:什么时候出ios版本
 (2022-05-20 11:04) 

厨子什么时候不收开发者费了什么时候出
离线zhou_0017

只看该作者 132楼 发表于: 2022-05-31
我下载的5.15.3, mysql以及mqtt不在静态编译包内,请问如何静态编译mysql以及mqtt,谢谢鹅
离线zhangxin

只看该作者 133楼 发表于: 2022-06-01
兄弟没有计划编译5.15.4吗
离线fsu0413

只看该作者 134楼 发表于: 2022-06-04
回 zhangxin 的帖子
zhangxin:兄弟没有计划编译5.15.4吗[表情]  (2022-06-01 11:52) 

等6.3.1出来一起传
离线fsu0413

只看该作者 135楼 发表于: 2022-06-04
回 zhou_0017 的帖子
zhou_0017:我下载的5.15.3, mysql以及mqtt不在静态编译包内,请问如何静态编译mysql以及mqtt,谢谢鹅 (2022-05-31 10:47) 

mysql静态编译也依赖动态的mysql库,之前我做静态编译的时候踩过坑
qt5没有mqtt
离线zhou_0017

只看该作者 136楼 发表于: 2022-06-05
回 fsu0413 的帖子
fsu0413:mysql静态编译也依赖动态的mysql库,之前我做静态编译的时候踩过坑
qt5没有mqtt (2022-06-04 09:28) 

是说我直接把mysql的动态编译文件放到静态编译环境中就能用吗?另外qt 5是有mqtt的,https://doc.qt.io/qt-5/mqtt-overview.html,就是不知道怎么对mqtt做静态编译
离线lixinwei

只看该作者 137楼 发表于: 2022-06-05
回 zhou_0017 的帖子
zhou_0017:
是说我直接把mysql的动态编译文件放到静态编译环境中就能用吗?另外qt 5是有mqtt的,https://doc.qt.io/qt-5/mqtt-overview.html,就是不知道怎么对mqtt做静态编译


Qt mqtt是Qt的一个模块。静态编译Qt mqtt的前提是Qt也必须静态编译,并且Qt mqtt的版本跟所用的Qt版本要一致。如果使用的Qt是动态编译的,编译出来的Qt mqtt也是动态的
qtmqtt源码可以在github上下载,以5.15.2版本为例,下载页面在 https://github.com/qt/qtmqtt/releases/tag/v5.15.2
下载解压源码后,在源码目录下运行qmake && make && make install 即可
离线lixinwei

只看该作者 138楼 发表于: 2022-06-05
回 fsu0413 的帖子
fsu0413:mysql静态编译也依赖动态的mysql库,之前我做静态编译的时候踩过坑
qt5没有mqtt (2022-06-04 09:28)

qt5其实是有qtmqtt的,只不过官方不在https://download.qt.io/发布源码,但源码可以在github上下载
qtcoap qtopcua 同理
离线fsu0413

只看该作者 139楼 发表于: 2022-06-06
回 zhou_0017 的帖子
zhou_0017:是说我直接把mysql的动态编译文件放到静态编译环境中就能用吗?另外qt 5是有mqtt的,https://doc.qt.io/qt-5/mqtt-overview.html,就是不知道怎么对mqtt做静态编译
 (2022-06-05 13:13) 

动态的插件肯定不能和静态Qt一起用。。。。

我之前做静态的mysql插件的时候碰到的问题是 静态mysql插件在链接时直接依赖构建时使用的mysql库。当时官方发布的库就是动态库。
而且因为Qt是静态的,导致所有使用Qt Sql库并且使用我之前制作的静态Qt版本都要去我当时构建的路径找mysql库。
离线fsu0413

只看该作者 140楼 发表于: 2022-06-06
回 lixinwei 的帖子
lixinwei:qt5其实是有qtmqtt的,只不过官方不在https://download.qt.io/发布源码,但源码可以在github上下载
qtcoap qtopcua 同理
 (2022-06-05 13:45) 

好吧。。。看来我以后构建要上github看看有没有新代码了。。。。。。
离线lixinwei

只看该作者 141楼 发表于: 2022-06-06
回 fsu0413 的帖子
fsu0413:好吧。。。看来我以后构建要上github看看有没有新代码了。。。。。。 (2022-06-06 16:20) 

没必要了,Qf5 的 qtmqtt qtcoap qtopcua 只开源到5.15.2,github上没有5.15.3和5.15.4;Qt 6源码包已经包含了这几个模块,无需单独下载
离线lixinwei

只看该作者 142楼 发表于: 2022-06-06
回 fsu0413 的帖子
fsu0413:
动态的插件肯定不能和静态Qt一起用。。。。
我之前做静态的mysql插件的时候碰到的问题是 静态mysql插件在链接时直接依赖构建时使用的mysql库。当时官方发布的库就是动态库。
而且因为Qt是静态的,导致所有使用Qt Sql库并且使用我之前制作的静态Qt版本都要去我当时构建的路径找mysql库。

可以在打包的时候把 libmysql.dll 复制到 Qt 库的bin目录下,把 libmysql.lib 复制到Qt库的lib目录下,然后修改 plugins/sqldrivers/qsqlmysql.prl,把 mysql 库相关的部分改成 $$[QT_INSTALL_LIBS]/libmysql.lib,这样 qmake 就会从 Qt 库的lib目录下找 libmysql.lib,而不是从构建时 libmysql.lib 所在目录下找。
以Qt 5.15.4 vs2019 x86 静态编译为例,修改后的 qsqlmysql.prl 文件如下(省略未修改的行):
QMAKE_PRL_LIBS = $$[QT_INSTALL_LIBS]/Qt5Sql.lib $$[QT_INSTALL_LIBS]/Qt5Core.lib mpr.lib userenv.lib version.lib $$[QT_INSTALL_LIBS]/qtpcre2.lib netapi32.lib ws2_32.lib advapi32.lib kernel32.lib ole32.lib shell32.lib uuid.lib user32.lib winmm.lib $$[QT_INSTALL_LIBS]/libmysql.lib
QMAKE_PRL_LIBS_FOR_CMAKE = $$[QT_INSTALL_LIBS]/Qt5Sql.lib;$$[QT_INSTALL_LIBS]/Qt5Core.lib;mpr.lib;userenv.lib;version.lib;$$[QT_INSTALL_LIBS]/qtpcre2.lib;netapi32.lib;ws2_32.lib;advapi32.lib;kernel32.lib;ole32.lib;shell32.lib;uuid.lib;user32.lib;winmm.lib;$$[QT_INSTALL_LIBS]/libmysql.lib;;;

理论上静态Qt链接的其他第三方库也可以用这种方法来处理,但这些第三方库要修改的文件更多,如openssl需要修改mkspecs/modules/qt_lib_network_private.pri lib/Qt5Network.prl plugins/bearer/qgenericbearer.prl 和 plugins/generic/qtuiotouchplugin.prl
离线zhanglyl

只看该作者 143楼 发表于: 2022-07-05
前几天,网站提示
警告:面临潜在的安全风险

Firefox 检测到问题而没有继续连接 build-zh.fsu0413.me。
离线fsu0413

只看该作者 144楼 发表于: 2022-07-05
回 zhanglyl 的帖子
zhanglyl:[表情] [表情] [表情] 前几天,网站提示
警告:面临潜在的安全风险
Firefox 检测到问题而没有继续连接 build-zh.fsu0413.me。 (2022-07-05 08:59) 

zh没法更新了
安全问题是证书过期了,用 build-qt.fsu0413.me 吧
离线leecn2020

只看该作者 145楼 发表于: 2022-07-11
大佬,你好,我下载的是Qt5.15.5-Windows-x86-VS2017-15.9.49-20220627.7z ,里面没有包含有类似调试模式下的lib库,例如:Qt5Widgetsd.lib,这样新建的项目没法在debug模式下进行编译,看看大佬可否抽时间把它加上,或者付费也行。
离线fsu0413

只看该作者 146楼 发表于: 2022-07-23
回 leecn2020 的帖子
leecn2020:大佬,你好,我下载的是Qt5.15.5-Windows-x86-VS2017-15.9.49-20220627.7z ,里面没有包含有类似调试模式下的lib库,例如:Qt5Widgetsd.lib,这样新建的项目没法在debug模式下进行编译,看看大佬可否抽时间把它加上,或者付费也行。[表情]
 (2022-07-11 07:43) 

debug我不准备支持。
离线q350031989

只看该作者 147楼 发表于: 2022-07-25
好奇没debug版大家是怎么用的呢,直接release硬调试错误?
离线fsu0413

只看该作者 148楼 发表于: 2022-08-02
回 q350031989 的帖子
q350031989:好奇没debug版大家是怎么用的呢,直接release硬调试错误? (2022-07-25 15:57) 

我自己是万事皆qdebug的,qdebug对我来说还很够用
离线fsu0413

只看该作者 149楼 发表于: 2022-08-04
macos 11 vm可能好了。。。。。virtualbox更新可能解决了问题
离线fsu0413

只看该作者 150楼 发表于: 2022-08-21
5.15文件夹里的新补丁打不进去。。。。。。
看了一下是升级freetype从1.10.4到1.12.1的,但是5.15.5自带的freetype是1.10.1

下崽了1.10.1和1.10.4两个版本的freetype之后又发现,Qt把freetype的文件结构进行过修改,不能直接用
等5.15.6发布我再看看吧。。。。我觉得这点小问题还用不着手动编译freetype,然后再-system-freetype。。。
4条评分好评度+1贡献值+1金钱+10威望+1
20091001753 好评度 +1 辛苦了 2022-08-22
20091001753 贡献值 +1 辛苦了 2022-08-22
20091001753 威望 +1 辛苦了 2022-08-22
20091001753 金钱 +10 辛苦了 2022-08-22
离线fsu0413

只看该作者 151楼 发表于: 2022-09-11
5.15.6自带的freetype是1.10.4,可以打Qt官方发布的freetype升级补丁了

最近在搞6.4 beta,有6个现有配置编译不过
发现是这些配置中有一些以前遗留下来的临时的编译选项

目前准备在6.4上先行测试删掉遗留的编译选项,如果可用的话,再适用于6.3和6.2

(WASM平台目前不用PCH已经编译不过了,明明以前5.12时期是不能用PCH的)
离线zhangxin

只看该作者 152楼 发表于: 2022-09-12
回 q350031989 的帖子
q350031989:好奇没debug版大家是怎么用的呢,直接release硬调试错误? (2022-07-25 15:57) 

一开始是使用的5.15.2的debug,下载的楼主的release,后面都自己编译了
离线fsu0413

只看该作者 153楼 发表于: 2022-09-13
macOS host xcode 更新14.0,命令行工具要手工重新弄。。。
我现在很庆幸我在自动更新xcode之前就把我所有需要构建的东西都构建完了。

更新14.0之后我还会重新弄一版6.2.4及以后的版本,如果有问题的话,可能需要重新卡xcode版本号,就需要再安装虚拟机了。。。。。。。。。。。。。。
我不想弄macOS虚拟机了,麻烦的要死。。。。。。。。。。。。。

而且这次很可能需要双架构macOS虚拟机,而我从来没研究过macOS arm虚拟机应该怎么弄
愁。。。。。。。。
离线fsu0413

只看该作者 154楼 发表于: 2022-09-13
Xcode 14 can fail to find tools using xcodebuild -find (which is used by xcrun and the wrappers in /usr/bin such as /usr/bin/clang) if first launch content isn’t installed. (98008921)

Workaround: Run xcodebuild -runFirstLaunch, or launch Xcode.app first.
离线pfeng

只看该作者 155楼 发表于: 2022-09-13
非常感谢楼主!我的项目需要用webrtc,自己编译webengine一直不行,气的想砸电脑,楼主解决了我的大问题!
离线fsu0413

只看该作者 156楼 发表于: 2022-09-14
6.2.4之后都可以编,没有任何问题
6.3.2之后的webengine也没问题
6.2.4的webengine本身在Xcode13就编译不过,就不看了
离线fsu0413

只看该作者 157楼 发表于: 2022-09-14
咱们被背刺了
Qt 发布的 CVE-2022-37434 的 patch 在发布之后又改了

又要重新编了。。。。。
离线zhangxin

只看该作者 158楼 发表于: 2022-09-14
回 fsu0413 的帖子
fsu0413:咱们被背刺了
Qt 发布的 CVE-2022-37434 的 patch 在发布之后又改了
又要重新编了。。。。。 (2022-09-14 12:34) 

兄弟,打cve是不是直接在网站下载源码不行,必须要git下来才好打cve?
离线fsu0413

只看该作者 159楼 发表于: 2022-09-14
回 zhangxin 的帖子
zhangxin:兄弟,打cve是不是直接在网站下载源码不行,必须要git下来才好打cve? (2022-09-14 12:40) 

不是 可以用 patch -p1
快速回复
限100 字节
 
上一个 下一个