【已解决】如何解决软件内无法输入中文?(RPGMakerMV)
Tofloor
poster avatar
司南
deepin
2018-08-31 06:14
Author
本帖最后由 sinan 于 2018-8-31 14:31 编辑

今天忍痛在steam 买了正版的RPGMakerMV。欢天喜地地把windows上的游戏项目移到deepin上(win上盗版软件抽风了,测试游戏闪退)。

不过发现软件虽然是中文界面,但是无法在软件内的输入框中输入中文,看输入法控制栏的情况可能是无法切换到搜狗输入法
我以前静态编译Qt程序也会出现无法输入中文,无法切换中文输入法的情况(这是由于静态编译的库缺少libfcitxplatforminputcontextplugin.so)
请问大佬们有没有办法解决这个问题呢?这的很耽误时间...


这是公益广告~:纸娃娃制作器https://maplestory.design/

无法使用fcitx在RPGMakerMV的界面中输入中文是因为RPGMakerMV自备Qt依赖库且只有ibus的输入插件。使用ibus输入中文的确是一个一劳永逸的好办法,但是我希望可以以一个更极客的办法解决这个问题。另外上传一下fcitx-qt插件(Qt5.5.1版本):fcitx-qt5-1.2.3.tar.gz
----------------- 已找到的解决方法 -----------------


步骤一:在RPGMakerMV的程序目录中(一般为~/.steam/steam/steamapps/common/RPG Maker MV/)用 strings命令[1] 查看目录下Qt动态链接库的版本信息(此时的版本是Qt5.5.1,所以下面使用5.5.1版本Qt编译插件)。

步骤二:在 Qt源代码下载网站[2] 下载Qt5.5.1版本的源代码包(qt-everywhere-opensource-src-5.5.1),解压后编译安装Qt5.5.1
(这个过程很漫长,你可做很多事...)
./configure | make | sudo make install
Qt5.5.1可以随便安装在任意目录下,只要不和原本的系统qt库冲突就好(我是安装在/usr/local/Qt5.5.1_share目录下)

步骤三:在编译好后,在安装目录(Qt5.5.1_share)中的./lib/camke/目录下的文件夹就是我们需要为编译fcitx-qt插件准备的东西了。

步骤四:在github上下载 fcitx-qt5[3] ,解压到随便一个用户目录下
使用文本编辑器修改fcitx-qt5目录中的文件“CMakeList.txt”(这是为了不修改环境变量也可以使用特定的Qt依赖库进行编译
在“set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ...”之下添加四行代码:
set(Qt5Core_DIR /usr/local/Qt5.5.1_share/lib/cmake/Qt5Core/)
set(Qt5Gui_DIR /usr/local/Qt5.5.1_share/lib/cmake/Qt5Gui/)
set(Qt5Widgets_DIR /usr/local/Qt5.5.1_share/lib/cmake/Qt5Widgets/)
set(Qt5DBus_DIR /usr/local/Qt5.5.1_share/lib/cmake/Qt5DBus/)

保存退出

步骤五:使用cmake在fcitx-qt5目录下进行编译(这个编译速度很快...)
cmake . | make
然后就能在文件夹“platforminputcontext”下找到插件“libfcitxplatforminputcontextplugin.so”了,这就是我们需要的fcitx-qt插件

步骤六:把libfcitxplatforminputcontextplugin.so文件复制到RPGMakerMV的程序目录下./plugins/platforminputcontexts/路径的文件夹下。重新启动RPGMakerMV就可以




参考:
[1] strings命令在对象文件或二进制文件中查找可打印的字符串。字符串是4个或更多可打印字符的任意序列,以换行符或空字符结束。 strings命令对识别随机对象文件很有用。

[2] qt安装包下载网站: http://download.qt.io/archive/qt/

[3] fcitx-qt插件下载地址: https://github.com/fcitx/fcitx-qt5


Reply Favorite View the author
All Replies
司南
deepin
2018-08-31 06:17
#1
Reply View the author
司南
deepin
2018-08-31 15:43
#2


已知RPGMakerMV自带了某个版本的Qt依赖,缺少libfcitxplatforminputcontextplugin.so文件,把自己安装的Qt库拷贝到它自己的插件目录中,没有什么作用。
大神怎么解决这个问题啊!!!!


Reply View the author
司南
deepin
2018-08-31 16:39
#3
万能的终端命令,总算知道了RPGmakerMV的使用的Qt版本是 5.5.1。
Reply View the author
justforlxz
deepin developers team
2018-08-31 17:00
#4
https://bbs.deepin.org/post/168222
万能的终端命令,总算知道了RPGmakerMV的使用的Qt版本是 5.5.1。

你成功的在我回复之前解决了问题
Reply View the author
司南
deepin
2018-08-31 17:22
#5
kirigaya 发表于 2018-8-31 09:00
你成功的在我回复之前解决了问题

但是编译出5.5.1的fcitx链接库成了个麻烦。
难道我必须要先编译安装好qt5.5.1才能编译这个qt5.5.1版本的链接库?
qt5.10的链接库放到应用目录下改了改运行权限后没有起什么作用。
Reply View the author
justforlxz
deepin developers team
2018-08-31 18:44
#6
https://bbs.deepin.org/post/168222
但是编译出5.5.1的fcitx链接库成了个麻烦。
难道我必须要先编译安装好qt5.5.1才能编译这个qt5.5.1版本的 ...

去网上找以前版本的应该也可以吧,自己编译多麻烦。
Reply View the author
司南
deepin
2018-08-31 21:22
#7
https://bbs.deepin.org/post/168222
去网上找以前版本的应该也可以吧,自己编译多麻烦。

就 是 啊 !
真是太麻烦了,我花了一个上午的时间才编译好Qt5.5.1。
不过终于弄好了。RPGmakerMV现在可以使用fcitx切换输入法和输入中文了。
Reply View the author
deepin
deepin
2018-08-31 21:53
#8
https://bbs.deepin.org/post/168222
就 是 啊 !
真是太麻烦了,我花了一个上午的时间才编译好Qt5.5.1。
不过终于弄好了。RPGmakerMV现 ...

建议你传一个到论坛来做个备份,也帮其他朋友解决问题
Reply View the author
司南
deepin
2018-08-31 22:28
#9
deepin 发表于 2018-8-31 13:53
建议你传一个到论坛来做个备份,也帮其他朋友解决问题

好的
Reply View the author
buffallos
deepin
2018-08-31 22:37
#10
https://bbs.deepin.org/post/168222
去网上找以前版本的应该也可以吧,自己编译多麻烦。

为知笔记不能输入中文也是这个问题造成的呢
Reply View the author
司南
deepin
2018-09-01 04:54
#11
buffallos 发表于 2018-8-31 14:37
为知笔记不能输入中文也是这个问题造成的呢

我想世界范围内还是ibus输入法框架用的人多。
Reply View the author
a2035274
deepin
2018-09-08 05:11
#12
本帖最后由 a2035274 于 2018-9-7 21:17 编辑

我记得libfcitxplatforminputcontextplugin.so应该是动态库,不编译直接复制上面的文件到自己的电脑上能用吗?有人试过吗?在15.3的时候我也编译过,但结果是:某个软件能用fcitx了,但所有深度开发的软件无法输入中文,你的有这个现象吗?

https://bbs.deepin.org/post/134841https://bbs.deepin.org/post/134841


https://bbs.deepin.org/post/134841
Reply View the author
司南
deepin
2018-09-08 05:32
#13
https://bbs.deepin.org/post/168222
我记得libfcitxplatforminputcontextplugin.so应该是动态库,不编译直接复制上面的文件到自己的电脑上能用 ...

rpgmakermv使用的是自带的qt库,版本和deepin当前的qt库不兼容。
可以用的,把这个动态库放到应用的目录下试试
Reply View the author
司南
deepin
2018-09-08 06:43
#14
a2035274 发表于 2018-9-7 21:11
我记得libfcitxplatforminputcontextplugin.so应该是动态库,不编译直接复制上面的文件到自己的电脑上能用 ...

你可以用qt官网的.run文件安装一个对应版本的qt库,编译好fcITx插件,可以运行安装目录的可执行程序卸载这个qt库。
我的电脑目前连不上网,无法跟你演示。
我是通过源代码编译的qt库,这会和系统的运行库产生关联,用.run安装的qt库是在远古版本的Linux系统中编译好的就不会出现这种情况。
Reply View the author
decret
deepin
2019-09-15 00:33
#15
谢谢大佬,问题解决了
Reply View the author