阅读:21238回复:10
Yong输入法的编译方法
依赖
小小输入法在linux下开发和编译。没有测试过在其他操作系统下进行编译。 需要是64位系统,32位系统某些模块就没法编译,需要自己手工调整。 clang编译器,需要支持c11以上版本。gcc也行,需自己调整rules.txt文件。 nodejs需要4.0版本及以上。 系统中需要安装好相关的开发环境,比如gtk4-devel,gtk3-devel,gtk2-devel,ibus-devel,libxkbcommon-devel,libcurl-devel,wayland-devel, gtk-layer-shell-devel(debian下是libgtk-4-dev libgtk-3-dev libgtk2.0-dev libxkbcommon-dev libibus-1.0-dev libcurl4-openssl-dev libwayland-dev libgtk-layer-shell0-dev或libgtk-layer-shell-dev)。 准备好build.js,在https://github.com/dgod/build.js 编译 由于git不能存储空目录,所以下载到的源代码缺少一些目录结构,编译前需要先创建好一些目录 mkdir - p {llib,cloud,gbk,mb,vim}/{l32,l64} mkdir -p im/{l32-gtk3,l64-gtk3} mkdir -p config/{l32-gtk3,l64-gtk3,l32-gtk4,l64-gtk4} mkdir -p im/gtk-im/{l32-gtk3,l32-gtk2,l64-gtk3,l64-gtk2}mkdir -p im/IMdkit/{l32,l64} 编译所有相关内容 node build.js 只编译linux相关内容 node build.js l32 l64 编译qt模块 这个编译某些地方是写死了路径的,在某些系统上可能无法编译通过,需要自己调整build.txt。(需要安装包qt5-qtbase-devel,qt5-qtbase-private-devel,debian下是qtbase5-dev,qtbase5-private-dev) node build.js -C im/qt5-im l32-qt5 l64-qt5 代码同样支持qt6 mkdir im/qt5-im/{l32-qt6,l64-qt6,l32-qt5,l64-qt5} node build.js -C im/qt5-im l64-qt5 编译wps使用的模块 安装好wps 编译wps专用qt 参考https://github-wiki-see.page/m/kingsoft-wps/qt5/wiki/Build-Qt-for-WPS,这里需要把build目录放在源代码目录下 cd im/qt5-im mkdir wps export WPS_QT=下载的wps版本qt源代码路径 build wps linux下打包 先node build.js -C install copy 7z(需要系统中安装有p7zip压缩工具) node build.js dist rpm(需要系统中安装有rpmbuild) node build.js rpm deb(需要系统中有dpkg和fakeroot) node build.js deb |
|
沙发#
发布于:2022-05-23 08:41
非常感谢 fireflyoo 您在AUR上提交的PKGBUILD,不过不知我们的系统有什博差别,在我这边编译不过,首先git地址连接不了,于是我改成了周大的官方地址,然后官方的build.js也获取不到相关文件,于是我直接复制了build.js文件,但makepkg时又提示似乎是找不到QT目录,qt5-base是装了的。
|
|
板凳#
发布于:2018-08-07 11:40
可以把這篇移到“幫助”版塊嗎?
|
|
5楼#
发布于:2017-03-13 10:23
|
|
6楼#
发布于:2017-03-13 00:45
原来应该氏libibus-1.0-dev。不过还氏编译出错。
mate1604@wdnb00:/tmp/yong$ node build.js l32 gcc -m32 -march=i686 -I/tmp/yong/llib -I/tmp/yong/im -I/tmp/yong/im/IMdkit -DCFG_XIM_IBUS `pkg-config --cflags ibus-1.0` -DCFG_XIM_FBTERM -I/tmp/yong/im/fbterm -DL_CALL_GLIB_SERVER -Wall -g -O2 -fms-extensions -fno-strict-aliasing -pipe -I/tmp/yong/include -I/tmp/yong/common `pkg-config --cflags gtk+-2.0` -c /tmp/yong/im/ui.c -o ui.o /tmp/yong/im/ui.c:61:22: fatal error: ui-timer.c: 没有那个文件或目录 compilation terminated. 该怎么调整,屮目前所用的电脑氏32位的,所以只需要32版本的。 请楼主和楼上编译成功的坛友指导。 |
|
7楼#
发布于:2017-03-13 00:18
在ubuntuMate1604下试着编译。根据提示,要装上nodejs-legacy才可以运行node.js脚本。
编译时提示出错,估计依赖包没有。不过那些依赖包的确切包名该氏啥呢? 经尝试,有三个包可以装上,不过要增加个加号,devel用dev代替就能装上。 sudo apt install libxkbcommon-dev sudo apt install gtk+2-dev sudo apt install gtk+3-dev 但氏ibus的开发包装不上,不知确切包名氏啥。。。yong输入法怎么还会依赖ibus呢? mate1604@wdnb00:~$ sudo apt install ibus-dev 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 E: 无法定位软件包 ibus-dev |
|
8楼#
发布于:2016-08-30 12:09
|
|
9楼#
发布于:2016-08-30 10:55
怎么编译成win32版的?
i686-w64-mingw32-gcc -I/run/media/fireflyoo/DD2801CE9FEF970F/msys32/home/Feng/arch-yong/src/yong/llib -I/run/media/fireflyoo/DD2801CE9FEF970F/msys32/home/Feng/arch-yong/src/yong/im -I/run/media/fireflyoo/DD2801CE9FEF970F/msys32/home/Feng/arch-yong/src/yong/im/IMdkit -DCFG_XIM_IBUS `pkg-config --cflags ibus-1.0` -DCFG_XIM_FBTERM -I/run/media/fireflyoo/DD2801CE9FEF970F/msys32/home/Feng/arch-yong/src/yong/im/fbterm -DL_CALL_GLIB_SERVER -D_UNICODE -DUNICODE -march=i686 -Wall -g -O2 -fms-extensions -fno-strict-aliasing -pipe -I/run/media/fireflyoo/DD2801CE9FEF970F/msys32/home/Feng/arch-yong/src/yong/include -I/run/media/fireflyoo/DD2801CE9FEF970F/msys32/home/Feng/arch-yong/src/yong/common `pkg-config --cflags gtk+-3.0` -c /run/media/fireflyoo/DD2801CE9FEF970F/msys32/home/Feng/arch-yong/src/yong/im/ui.c -o ui.o In file included from /usr/include/glib-2.0/gio/gio.h:46:0, from /usr/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28, from /usr/include/gtk-3.0/gdk/gdk.h:32, from /usr/include/gtk-3.0/gtk/gtk.h:30, from /run/media/fireflyoo/DD2801CE9FEF970F/msys32/home/Feng/arch-yong/src/yong/im/ui.c:1: /usr/include/glib-2.0/gio/gcredentials.h:75:1: 错误:未知的类型名‘uid_t’ uid_t g_credentials_get_unix_user (GCredentials *credentials, ^~~~~ /usr/include/glib-2.0/gio/gcredentials.h:79:52: 错误:未知的类型名‘uid_t’ uid_t uid, ^~~~~ In file included from /run/media/fireflyoo/DD2801CE9FEF970F/msys32/home/Feng/arch-yong/src/yong/im/ui.c:2:0: /usr/include/gtk-3.0/gdk/gdkx.h:30:22: 致命错误:X11/Xlib.h:没有那个文件或目录 #include <X11/Xlib.h> ^ 编译中断。我编译失败。。卡在im/ui.c这文件上。。 |
|
上一页
下一页