阅读:4167回复:5

QT5.9 不再兼容低版本的插件

楼主#
更多 发布于:2018-01-25 14:41
QT5.9.3 和 QT5.9.4 都已不再兼容低版本的输入法插件。
然后自己编译了一下,能在新版本的 qtcreator 里用小小输入法了。
编译过程中发现一些报错,原因大概是这些:


~/yong-master/im/qt5-im/build.txt


默认是:


var MOC=shell("pkg-config --variable=libdir Qt5Core")+'/qt5/bin/moc';


用官网的 run 文件安装的QT,现在的『moc』文件、『qmake』文件,都在『gcc_64/bin』下面:


var MOC='/home/i7/Qt5.9.3/5.9.3/gcc_64/bin/moc';


还有一些关于 pkgconfig  的报错:


在这个目录下面,有QT自带的一系列 *.pc 文件,创建软链到系统的 pkgconfig 目录。


/home/i7/Qt5.9.3/5.9.3/gcc_64/lib/pkgconfig


  • sudo ln -sfv /home/i7/Qt5.9.3/5.9.3/gcc_64/lib/pkgconfig/*.pc /usr/share/pkgconfig
  • sudo ln -sfv /home/i7/Qt5.9.3/5.9.3/gcc_64/lib/pkgconfig/*.pc /usr/lib/x86_64-linux-gnu/pkgconfig
  • sudo ln -sfv /home/i7/Qt5.9.3/5.9.3/gcc_64/lib/pkgconfig/*.pc /usr/lib/pkgconfig

按理说,一个目录就可以了,但是在我这里,建了三个才生效。


最后,又反复遇到 <include> 报错,说是找不到对应文件


QT官网的 run 文件安装,它的相关 <include> 典型路径是这样的:


『/home/i7/Qt5.9.3/5.9.3/gcc_64/include/QtCore/5.9.3/QtCore/private/qtcore-config_p.h』


在『/home/i7/Qt5.9.3/5.9.3/gcc_64/include/QtCore』下,已经有了一些C函数文件,但是,它的下级目录还包含『5.9.3/同名QtCore/private』等等。


于是,把它们做软链到系统『include』下,报错消除,成功编译:


sudo ln -sfv /home/i7/Qt5.9.3/5.9.3/gcc_64/include/*/5.9.3/* /usr/include


放到QT相应的『platforminputcontexts』下,能正常使用了。


我编译的 QT5.9 小小输入法插件:

https://pan.stnts.com/s/EeotPji
沙发#
发布于:2018-01-25 14:45
忘了,还有

系统库路径:

/etc/ld.so.conf.d/libc.conf

# libc default configuration
/usr/local/lib
/home/i7/Qt5.9.3/5.9.3/gcc_64/lib
板凳#
发布于:2018-01-25 14:49
没有大版本升级,插件应该是兼容的才对。
官方在哪有说明他们放弃了二进制兼容性吗?
地板#
发布于:2018-01-25 14:51
dgod:没有大版本升级,插件应该是兼容的才对。
官方在哪有说明他们放弃了二进制兼容性吗?
回到原帖
不知道呢,但是 新的 QtCreator 用之前的插件是不识别的。
wuxiao
新手上路
新手上路
4楼#
发布于:2018-01-31 00:13
qt5.10插件,不过我在arch中编译倒没你这么多问题。https://github.com/ning5211/yong_qt5_plugin
fygul
新手上路
新手上路
5楼#
发布于:2020-11-19 21:13
Qt 5.12输入法插件
Ubuntu 20.04使用Qt 5.12,原本下载5.13版使用,但无作用。后来自己编译5.12版,可在这篇找到下载点。
游客

返回顶部