You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编译生成libQt5Declarative.so?编译qtdeclarative未获该文件

关于Qt Declarative模块编译产物与libQt5Declarative.so的疑问解答

编译qtdeclarative模块得到的产物

drwxr-xr-x 6 4.0K Mar 8 21:17 cmake/
-rw-r--r-- 1 2.1M Mar 8 21:19 libQt5QmlDevTools.a
-rw-r--r-- 1 706 Mar 8 21:19 libQt5QmlDevTools.la
-rw-r--r-- 1 1.1K Mar 8 21:19 libQt5QmlDevTools.prl
-rw-r--r-- 1 761 Mar 8 21:07 libQt5Qml.la
-rw-r--r-- 1 1.1K Mar 8 21:07 libQt5Qml.prl
lrwxrwxrwx 1 18 Mar 8 21:12 libQt5Qml.so -> libQt5Qml.so.5.6.3*
lrwxrwxrwx 1 18 Mar 8 21:12 libQt5Qml.so.5 -> libQt5Qml.so.5.6.3*
lrwxrwxrwx 1 18 Mar 8 21:12 libQt5Qml.so.5.6 -> libQt5Qml.so.5.6.3*
-rwxr-xr-x 1 5.1M Mar 8 21:12 libQt5Qml.so.5.6.3*
-rw-r--r-- 1 924 Mar 8 21:12 libQt5Quick.la
-rw-r--r-- 1 998 Mar 8 21:16 libQt5QuickParticles.la
-rw-r--r-- 1 1.3K Mar 8 21:16 libQt5QuickParticles.prl
lrwxrwxrwx 1 29 Mar 8 21:17 libQt5QuickParticles.so -> libQt5QuickParticles.so.5.6.3*
lrwxrwxrwx 1 29 Mar 8 21:17 libQt5QuickParticles.so.5 -> libQt5QuickParticles.so.5.6.3*
lrwxrwxrwx 1 29 Mar 8 21:17 libQt5QuickParticles.so.5.6 -> libQt5QuickParticles.so.5.6.3*
-rwxr-xr-x 1 752K Mar 8 21:17 libQt5QuickParticles.so.5.6.3*
-rw-r--r-- 1 1.3K Mar 8 21:12 libQt5Quick.prl
lrwxrwxrwx 1 20 Mar 8 21:16 libQt5Quick.so -> libQt5Quick.so.5.6.3*
lrwxrwxrwx 1 20 Mar 8 21:16 libQt5Quick.so.5 -> libQt5Quick.so.5.6.3*
lrwxrwxrwx 1 20 Mar 8 21:16 libQt5Quick.so.5.6 -> libQt5Quick.so.5.6.3*
-rwxr-xr-x 1 5.2M Mar 8 21:16 libQt5Quick.so.5.6.3*
-rw-r--r-- 1 887 Mar 8 21:16 libQt5QuickTest.la
-rw-r--r-- 1 1.3K Mar 8 21:16 libQt5QuickTest.prl
lrwxrwxrwx 1 24 Mar 8 21:16 libQt5QuickTest.so -> libQt5QuickTest.so.5.6.3*
lrwxrwxrwx 1 24 Mar 8 21:16 libQt5QuickTest.so.5 -> libQt5QuickTest.so.5.6.3*
lrwxrwxrwx 1 24 Mar 8 21:16 libQt5QuickTest.so.5.6 -> libQt5QuickTest.so.5.6.3*
-rwxr-xr-x 1 167K Mar 8 21:16 libQt5QuickTest.so.5.6.3*
-rw-r--r-- 1 997 Mar 8 21:17 libQt5QuickWidgets.la
-rw-r--r-- 1 1.3K Mar 8 21:17 libQt5QuickWidgets.prl
lrwxrwxrwx 1 27 Mar 8 21:17 libQt5QuickWidgets.so -> libQt5QuickWidgets.so.5.6.3*
lrwxrwxrwx 1 27 Mar 8 21:17 libQt5QuickWidgets.so.5 -> libQt5QuickWidgets.so.5.6.3*
lrwxrwxrwx 1 27 Mar 8 21:17 libQt5QuickWidgets.so.5.6 -> libQt5QuickWidgets.so.5.6.3*
-rwxr-xr-x 1 97K Mar 8 21:17 libQt5QuickWidgets.so.5.6.3*
drwxr-xr-x 2 4.0K Mar 8 21:17 pkgconfig/

关于生成libQt5Declarative.so的说明

你要找的libQt5Declarative.so是Qt 5早期版本(大致Qt 5.0到5.2阶段)的产物——在Qt 5.1之后,原有的Qt Declarative模块被拆分成了Qt Qml和Qt Quick两个独立模块,也就是你现在编译出来的libQt5Qml.so、libQt5Quick.so这类库。

所以,直接通过编译当前qtdeclarative模块的参数是无法生成libQt5Declarative.so的,因为这个模块的结构已经被重构了。

你提到的包含该文件的RPM包,大概率是发行版为了兼容依赖旧Declarative模块的遗留软件,通过软链接或打包兼容层的方式提供的——比如把libQt5Qml.so链接成libQt5Declarative.so,但这不是Qt编译时的参数能控制的。

如果你的需求是运行旧软件,可以尝试手动创建软链接(注意存在兼容性风险):

ln -s libQt5Qml.so.5.6.3 libQt5Declarative.so.5
ln -s libQt5Declarative.so.5 libQt5Declarative.so

如果是开发新代码,建议直接基于当前的Qt Qml/Quick API进行开发,不要依赖旧的libQt5Declarative.so。

内容的提问来源于stack exchange,提问作者obadz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 04:36:41