阅读:45330回复:83

QT5插件问题解决尝试

楼主#
更多 发布于:2017-05-03 09:39
在我的PC上,QT5插件与Nvidia闭源驱动有冲突。一旦启用了Nvidia闭源驱动,QT5插件就会失效。
我不知道我的例子有没有代表性,但是这个问题也很讨厌呀,只好将yong挂载到iBus下面使用。
今天尝试一下编译QT5,看看能不能解决问题。现在做个实录。


总结:

编译环境:

sudo apt-get install nodejs
sudo apt-get install npm
sudo apt-get install nodejs-legacy
sudo apt install libgtk-3-dev
sudo apt install libgtk2.0-dev
sudo apt install libxkbcommon-dev
sudo apt install libibus-1.0-dev
sudo apt install qtbase5-dev libxkbcommon-dev libglib2.0-dev
sudo apt install qtbase5-private-dev qt5-default qtcreator
sudo apt install p7zip-full

将build.js拷到代码包根目录下

然后再进入代码包预建目录:

mkdir -p {llib,cloud,gbk,mb,vim}/{l32,l64}
mkdir -p {im,config}/{l32-gtk3,l32-gtk2,l64-gtk3,l64-gtk2}
mkdir -p im/gtk-im/{l32-gtk3,l32-gtk2,l64-gtk3,l64-gtk2}
mkdir -p im/IMdkit/{l32,l64}
mkdir -p im/qt5-im/l64-qt5


把/install/build.txt里,拷贝32位库的那一句删掉,因为只编译64位版。





编译:

node build.js l64
node build.js -C im/qt5-im
node build.js -C install copy dist

编译出来的7z包,yong-tool.sh是不带可执行权限的,安装时需要加上。

编译成功,QT5插件可以加载,在大家的协作下,这个问题的原因已经查明,关掉数字小键盘即可正常使用,期待周大更新QT5插件。

哈哈,总算解决了。
maxchen
新手上路
新手上路
沙发#
发布于:2017-06-01 15:20
我编译了QT插件,也放到了/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts,但是打开一个QT的程序,使用cat /proc/%pid%/maps命令,还是没有看到插件被加载

环境标量QT_IM_MODULE=yong,系统是KDE NEON,5.10.0,QT的版本是5.7.1,输入法程序已经更新到最新的了

请问还有什么办法能判断问题出在那里吗?



===================================


现在好了,还是环境变量有问题
板凳#
发布于:2017-05-03 22:48
xdlc:突然想到一个问题,qt5插件为什么要手动装,不集成到程序中自动装回到原帖
老大的解释:http://yong.dgod.net/read.php?tid=1987


可以建个脚本,替换(强行覆盖)QT插件,如下


用文本编辑器写如下内容,另存为『qt.sh』,然后右键调出属性,给它『允许以程序执行』的权限。


#!/bin/bash
cp -f ./libyongplatforminputcontextplugin.so /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/
chmod -R 777 /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts
chmod +x /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libyongplatforminputcontextplugin.so
echo "QT5插件迁移成功!"


新建一个文件夹,名字随意,将『qt.sh』放入进来。以后要更新『qt插件』,就把新版的qt插件放到这里,然后在这里打开终端,执行:
sudo ./qt.sh
xdlc
新手上路
新手上路
地板#
发布于:2017-05-03 22:39
dgod:基本不会有提速。有的速度提升也不值得那么折腾。回到原帖
突然想到一个问题,qt5插件为什么要手动装,不集成到程序中自动装
xdlc
新手上路
新手上路
4楼#
发布于:2017-05-03 22:23
感谢大大的帮助,和各位大神交流感觉很爽,也是第一次和软件作者交流,反馈,感觉很不一样
xdlc
新手上路
新手上路
5楼#
发布于:2017-05-03 22:18
yanhuacuo:速度不会提升,自己编译主要是为了避免因运行依赖缺少而造成的兼容性故障,也可以与本机的编译器配合得更好。现在ubuntu在力推Snap,默认将所有依赖打包,可以像在windows下那样安心地在不同的机器上使用软件。其实自己编译挺麻烦的,比如为...回到原帖
谢谢,学习了
xdlc
新手上路
新手上路
6楼#
发布于:2017-05-03 22:17
dgod:基本不会有提速。有的速度提升也不值得那么折腾。回到原帖
谢谢,折腾来折腾去也学会了编译源码了,挺好的
7楼#
发布于:2017-05-03 22:05
xdlc:谢谢,话说自己编译和下载安装,运行上会有提速吗,虽然我也学计算机,但学识尚浅,这些问题还是会有疑惑,git我听过,但没用过,deepin下直接安装就可以了吧回到原帖
速度不会提升,自己编译主要是为了避免因运行依赖缺少而造成的兼容性故障,也可以与本机的编译器配合得更好。现在ubuntu在力推Snap,默认将所有依赖打包,可以像在windows下那样安心地在不同的机器上使用软件。其实自己编译挺麻烦的,比如为知笔记,不发二进制包,只能自己编译,程序没多大,但一个QT5开发环境就3Gb左右,挺恶心的。
8楼#
发布于:2017-05-03 21:58
xdlc:谢谢,话说自己编译和下载安装,运行上会有提速吗,虽然我也学计算机,但学识尚浅,这些问题还是会有疑惑,git我听过,但没用过,deepin下直接安装就可以了吧回到原帖
基本不会有提速。有的速度提升也不值得那么折腾。
xdlc
新手上路
新手上路
9楼#
发布于:2017-05-03 21:57
dgod:git是用于代码开发的。
deepin下更新软件是
sudo apt update
sudo apt upgrade

fedora下是dnf update
回到原帖
谢谢,话说自己编译和下载安装,运行上会有提速吗,虽然我也学计算机,但学识尚浅,这些问题还是会有疑惑,git我听过,但没用过,deepin下直接安装就可以了吧
上一页
游客

返回顶部