阅读:11663回复:10

Yong输入法的编译方法

楼主#
更多 发布于:2016-08-28 16:40
依赖:
小小输入法在linux下开发和编译。没有测试过在其他操作系统下进行编译。
需要是64位系统,32位系统某些模块就没法编译,需要自己手工调整。
gcc 编译器,需要支持c11以上版本。clang应该也行。编译windows相关需要mingw-w64工具链。
nodejs需要0.12版本及以上。
系统中需要安装好相关的开发环境,比如gtk4-devel,gtk3-devel,gtk2-devel,ibus-devel,libxkbcommon-devel(debian下是libgtk-4-dev libgtk-3-dev libgtk2.0-dev libxkbcommon-dev libibus-1.0-dev)。
准备好build.js,在https://github.com/dgod/build.js

编译:

由于git不能存储空目录,所以下载到的源代码缺少一些目录结构,编译前需要先创建好一些目录
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}

编译所有相关内容
node build.js

只编译linux相关内容

node build.js l32 l64

需要qt5模块的,这个编译某些地方是写死了路径的,在某些系统上可能无法编译通过,需要自己调整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

linux下打包成7z:
需要系统中安装有p7zip压缩工具。
node build.js -C install copy dist

最新喜欢:

laolang_coollaolan... futurefuture steely.wingsteely... qwerqwer
沙发#
发布于:2017-03-13 10:23
gnuxyong:原来应该氏libibus-1.0-dev。不过还氏编译出错。
mate1604@wdnb00:/tmp/yong$ node build.js l32
gcc -m32 -march=i686 -I/tmp/yong/llib -I/tmp...
回到原帖
新加的代码忘了上传了,你更新一下代码吧
板凳#
发布于:2016-08-30 12:09
fireflyoo:怎么编译成win32版的?
i686-w64-mingw32-gcc -I/run/media/fireflyoo/DD2801CE9FEF970F/msys32/home/Feng/arch-yong/src/yong/llib -I/...
回到原帖
部分代码还没有开源
游客

返回顶部