ncurses库可以利用虚拟终端的功能模仿一个GUI程序,同样包含了窗口,菜单,面板,光标控制,颜色控制等等,古老简单而有趣,同样可以简化用户操作,隐藏命令行的复杂性。然而c4droid带的库不支持中文,下了吧主的改版,发现不能使用,私信也没回音。于是就自己编译了。
首先到阿里的GNU镜像下载ncurses的源码包,解压到外置存储,然后打开吧主改版C4 8的终端模拟器,先配置一个环境变量,执行如下命令:
cd $HOME
mkdir tmp
export TMPDIR=$(pwd)/tmp
然后拷贝源码到HOME目录,比如:
cp -dr /storage/emulated/0/ncurse-6.2 $HOME
然后进入源码目录:
cd ncurses-6.2
chmod +x configure
配置configure脚本,关键参数:
./configure --prefix=/data/data/这里c4包名替代/files/gcc/aarch64-linux-android --enable-widec --enable-reentrant
执行完毕,环境检测完成,就生成了make文件,然后就是make,make install了。
上面的参数主要指软件安装位置,宽字符支持,允许改名。
最后一步修改C4的默认编译参数,需要添加:
-lncurses++tw -lcursestw -lmenutw -lpaneltw
本来ncurses提供了配置工具,然而貌似不能在默认编译参数中指定,只能手动指定这些链接库了。
最后源程序中由于ncursestw的头文件C4没有递归查找子目录,可能需要手工包含:
#include <ncurses/ncurses.h>
就能编译通过并显示中文了。
各人环境不同,可能有少量差异。
最后提一句,C4打包的apk同样可以发布给别人使用,只是C4替换了里面的so文件,使得只能本机使用,要发布给别的手机,需要解包后替换原版的so文件。
首先到阿里的GNU镜像下载ncurses的源码包,解压到外置存储,然后打开吧主改版C4 8的终端模拟器,先配置一个环境变量,执行如下命令:
cd $HOME
mkdir tmp
export TMPDIR=$(pwd)/tmp
然后拷贝源码到HOME目录,比如:
cp -dr /storage/emulated/0/ncurse-6.2 $HOME
然后进入源码目录:
cd ncurses-6.2
chmod +x configure
配置configure脚本,关键参数:
./configure --prefix=/data/data/这里c4包名替代/files/gcc/aarch64-linux-android --enable-widec --enable-reentrant
执行完毕,环境检测完成,就生成了make文件,然后就是make,make install了。
上面的参数主要指软件安装位置,宽字符支持,允许改名。
最后一步修改C4的默认编译参数,需要添加:
-lncurses++tw -lcursestw -lmenutw -lpaneltw
本来ncurses提供了配置工具,然而貌似不能在默认编译参数中指定,只能手动指定这些链接库了。
最后源程序中由于ncursestw的头文件C4没有递归查找子目录,可能需要手工包含:
#include <ncurses/ncurses.h>
就能编译通过并显示中文了。
各人环境不同,可能有少量差异。
最后提一句,C4打包的apk同样可以发布给别人使用,只是C4替换了里面的so文件,使得只能本机使用,要发布给别的手机,需要解包后替换原版的so文件。