- 主题:qt5开发程序的依赖问题
app开发的环境是 ubuntu18LTS + Qt5.14
发布的时候把qt的运行库都带了,系统的没带
放到Ubuntu20LTS运行的时候,发现缺少几个so库
比如缺少 libevent2.1-6 (这个库是Ubuntu自带的,猜测可能是通过qt间接依赖的
用sudo apt-get install libevent-2.1
安装后发现 系统安装的是libevent2.1-7 ,不能解决依赖缺少问题
最后直接安装了libevent-2.1-6_xxxx.deb 才解决
事情虽然解决,我好奇的qt依赖关系这么强还是应该是Ubuntu发布背锅
还是我打开的方式不对
--
FROM 123.186.157.*
Ubuntu 的锅。Qt 不直接依赖这个包。
Linux 的二进制兼容是老大难问题了。
【 在 hothail (沸冰!无尽的华尔兹) 的大作中提到: 】
: app开发的环境是 ubuntu18LTS + Qt5.14
: 发布的时候把qt的运行库都带了,系统的没带
: 放到Ubuntu20LTS运行的时候,发现缺少几个so库
: ...................
--
FROM 112.47.122.*
2.1-6.so和2.1-7.so这两个都是2.1下的小版本,
大概率能兼容
就不能依赖一下2.1.so?链接也行啊,让人挠头
另外这个qt库是我从源码编译的,会不会和这个有关系
官方的安装包似乎不会这样吧
- 来自 水木社区APP v3.5.3
【 在 hgoldfish 的大作中提到: 】
: Ubuntu 的锅。Qt 不直接依赖这个包。
:
: Linux 的二进制兼容是老大难问题了。
--
FROM 123.186.157.*
Qt 正常不依赖 libevent. 你是不是把 gtk 支持给编译进去了。编译的时候看看 configure 有很多选项,可以配置 -no-glib
自己编译的大概率有兼容性问题,因为 Qt 的 libxcb 等等插件,会有很多额外的依赖。
【 在 hothail (沸冰!无尽的华尔兹) 的大作中提到: 】
: 2.1-6.so和2.1-7.so这两个都是2.1下的小版本,
: 大概率能兼容
: 就不能依赖一下2.1.so?链接也行啊,让人挠头
: ...................
--
修改:hgoldfish FROM 117.24.206.*
FROM 117.24.206.*
重新编译是为了webengine支持多媒体
WEBENGINE_CONFIG+=use_proprietary_codecs
其他没改,不过应该编译的东西还在
等上班了检查一下
谢谢
【 在 hgoldfish 的大作中提到: 】
: Qt 正常不依赖 libevent. 你是不是把 gtk 支持给编译进去了。编译的时候看看 configure 有很多选项,可以配置 -no-glib
: 自己编译的大概率有兼容性问题,因为 Qt 的 libxcb 等等插件,会有很多额外的依赖。
:
--
FROM 123.186.157.*
通过ldd 查 libQt5WebEngine.so 依赖 libevent
官方的 libQt5WebEngine 却不依赖
configure 配置选项 详细看 明确的有依赖libevent,
但却没有 却没有选项可以关闭 (或者隐藏在哪个选项上,还没找到)
configure默认配置选项竟然不是官方包配置,看来想简单了
Optional system libraries used:
re2 .................................. no
icu .................................. no
libwebp, libwebpmux and libwebpdemux . yes
opus ................................. yes
ffmpeg ............................... no
libvpx ............................... no
snappy ............................... yes
glib ................................. yes
zlib ................................. yes
minizip .............................. yes
libevent ............................. yes
jsoncpp .............................. yes
protobuf ............................. yes
libxml2 and libxslt .................. no
lcms2 ................................ no
png .................................. no
JPEG ................................. no
harfbuzz ............................. no
freetype ............................. yes
【 在 hothail 的大作中提到: 】
: 重新编译是为了webengine支持多媒体
: WEBENGINE_CONFIG+=use_proprietary_codecs
: 其他没改,不过应该编译的东西还在
: ...................
--
FROM 111.206.87.*
竟然是依靠本机libevent-dev包自动依赖,(笑哭)
附加1: 卸载libevent-dev 是不能编译通过,提示信息就是缺少 event.h 这个文件
看来至少libevent-dev 是必须的
Ubuntu20 和Ubuntu18 之间携带的dev库差别比较多,Ubuntu20上 libevent-dev需要单独安装,才能保证编译(来自官网wiki)
至于官方版本为什么没有依赖,就无从知晓了
【 在 hothail (沸冰!无尽的华尔兹) 的大作中提到: 】
: 通过ldd 查 libQt5WebEngine.so 依赖 libevent
: 官方的 libQt5WebEngine 却不依赖
: configure 配置选项 详细看 明确的有依赖libevent,
: ...................
--
修改:hothail FROM 111.206.87.*
FROM 111.206.87.*