环境
编译环境
Ubuntu 20.04.6 LTS (GNU/Linux 5.15.0-131-generic x86_64)
目标环境
Linux E8820V2 3.4.113 #1 SMP Fri Apr 18 01:16:29 CST 2025 mips GNU/Linux
开始编译
1. 安装 MIPS 交叉编译工具链
# 安装 MIPS 交叉编译器(以 mipsel 为例)
sudo apt update
sudo apt install -y gcc-mipsel-linux-gnu g++-mipsel-linux-gnu make ncurses-dev \
gcc-mips-linux-gnu g++-mips-linux-gnu \
git autoconf gettext libtool-bin \
libncurses5-dev build-essential
# 验证工具链
mipsel-linux-gnu-gcc --version
mips-linux-gnu-gcc --version
2. 编译依赖库(ncurses)
# 下载 ncurses 源码
wget https://ftp.gnu.org/pub/gnu/ncurses/ncurses-6.4.tar.gz
tar -xzf ncurses-6.4.tar.gz
cd ncurses-6.4
# 配置并编译
# 报错的话就./configure前加个sudo
# 根据需要去选择架构
# mipsel
./configure \
--host=mipsel-linux-gnu \
--prefix=$HOME/ncurses-mips-out \
--with-shared \
--with-normal \
--enable-widec \
--without-debug \
--without-ada \
--disable-stripping
# mips
./configure \
--host=mips-linux-gnu \
--prefix=$HOME/ncurses-mips-out \
--with-shared \
--with-normal \
--enable-widec \
--without-debug \
--without-ada \
--disable-stripping
make -j$(nproc)
sudo make install
编译完成后检查 .so
ls -lh $HOME/ncurses-mips-out/lib/libncursesw.so*
file $HOME/ncurses-mips-out/lib/libncursesw.so.6.4
输出应当是:
lrwxrwxrwx 1 root root 16 Apr 17 21:03 /home/yuos/ncurses-mips-out/lib/libncursesw.so -> libncursesw.so.6
lrwxrwxrwx 1 root root 18 Apr 17 21:03 /home/yuos/ncurses-mips-out/lib/libncursesw.so.6 -> libncursesw.so.6.4
-rwxr-xr-x 1 root root 470K Apr 17 21:03 /home/yuos/ncurses-mips-out/lib/libncursesw.so.6.4
/home/yuos/ncurses-mips-out/lib/libncursesw.so.6.4: ELF 32-bit LSB shared object, MIPS, MIPS32 rel2 version 1 (SYSV), dynamically linked, BuildID[sha1]=a8208d10f82218824fd2521adde304bf71fe2c2b, not stripped
显式指定库路径
export LD_LIBRARY_PATH=$HOME/ncurses-mips-out/lib:$LD_LIBRARY_PATH
3. 编译 Vim
# 下载源码
wget https://github.com/vim/vim/archive/refs/tags/v9.1.0.tar.gz
tar -xzf v9.1.0.tar.gz
cd vim-9.1.0
# 设置交叉编译环境变量
export CC=mipsel-linux-gnu-gcc
export CXX=mipsel-linux-gnu-g++
export AR=mipsel-linux-gnu-ar
export RANLIB=mipsel-linux-gnu-ranlib
export STRIP=mipsel-linux-gnu-strip
# 配置 Vim(禁用所有非必要功能)
CC=mipsel-linux-gnu-gcc \
vim_cv_toupper_broken=no \
vim_cv_tgetent=zero \
vim_cv_terminfo=yes \
vim_cv_getcwd_broken=no \
vim_cv_stat_ignores_slash=yes \
vim_cv_memmove_handles_overlap=yes \
./configure \
--build=x86_64-linux-gnu \
--host=mipsel-linux-gnu \
--target=mipsel-linux-gnu \
--disable-gui \
--without-x \
--disable-netbeans \
--disable-pythoninterp \
--disable-perlinterp \
--disable-rubyinterp \
--disable-luainterp \
--disable-tclinterp \
--disable-cscope \
--disable-terminal \
--with-tlib=ncursesw \
LDFLAGS="-static -L$HOME/ncurses-mips-out/lib -lncursesw" \
CFLAGS="-O2 -I$HOME/ncurses-mips-out/include" \
CPPFLAGS="-I$HOME/ncurses-mips-out/include"
# 编译并生成单文件
make -j$(nproc)
4. 验证
# 验证结果
file src/vim
输出应该是:ELF 32-bit LSB executable, MIPS, MIPS32 rel2 version 1 (SYSV), statically linked, BuildID[sha1]=97809bf6baa0f9d337bb3d1adb4370ddad65a3b4, for GNU/Linux 3.2.0, not stripped
如果需要压缩可以运行
upx --ultra-brute src/vim
5. 清理
如果要重新编译,记得先清理,再./configure
和make
make clean
make distclean
其他
定位报错A
grep -i ncurses src/auto/config.log
日志:
yuos@ubuntu:~/vim-9.1.0$ grep -i ncurses src/auto/config.log
$ auto/configure --build=x86_64-linux-gnu --host=mipsel-linux-gnu --target=mipsel-linux-gnu --enable-static --disable-gui --without-x --disable-netbeans --disable-pythoninterp --disable-perlinterp --disable-rubyinterp --disable-luainterp --disable-tclinterp --disable-cscope --disable-terminal --with-tlib=ncurses 'LDFLAGS=-static -L//home/yuos/ncurses-mips-out/lib' 'CFLAGS=-O2 -I//home/yuos/ncurse-mips-out/include' CPPFLAGS=-I//home/yuos/ncurses-mips-out/include --srcdir=. --cache-file=auto/config.cache
configure:3472: mipsel-linux-gnu-gcc -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include -static -L//home/yuos/ncurses-mips-out/lib conftest.c -lncursesw >&5
configure:3544: mipsel-linux-gnu-gcc -o conftest -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include -static -L//home/yuos/ncurses-mips-out/lib conftest.c -lncursesw >&5
configure:3659: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:3709: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:3751: mipsel-linux-gnu-gcc -c -g -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:3830: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:3988: mipsel-linux-gnu-gcc -E -I//home/yuos/ncurses-mips-out/include conftest.c
configure:4003: mipsel-linux-gnu-gcc -E -I//home/yuos/ncurses-mips-out/include conftest.c
configure:4044: mipsel-linux-gnu-gcc -E -I//home/yuos/ncurses-mips-out/include conftest.c
configure:4059: mipsel-linux-gnu-gcc -E -I//home/yuos/ncurses-mips-out/include conftest.c
configure:4422: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:4484: mipsel-linux-gnu-gcc -o conftest -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include -static -L//home/yuos/ncurses-mips-out/lib conftest.c -lncursesw >&5
configure:4591: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:4621: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:4988: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:4988: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:4988: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:4988: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:4988: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:4988: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:4988: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:4988: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:4988: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:4988: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:4988: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:4988: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:5013: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:5021: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:5182: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:5267: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:5280: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:5392: mipsel-linux-gnu-gcc -o conftest -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include -static -L//home/yuos/ncurses-mips-out/lib conftest.c -lselinux -lncursesw >&5
configure:8324: mipsel-linux-gnu-gcc -o conftest -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include -static -L//home/yuos/ncurses-mips-out/lib conftest.c -lsocket -lncursesw >&5
configure:8388: mipsel-linux-gnu-gcc -o conftest -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include -static -L//home/yuos/ncurses-mips-out/lib conftest.c -lncursesw >&5
configure:8403: mipsel-linux-gnu-gcc -o conftest -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include -static -L//home/yuos/ncurses-mips-out/lib conftest.c -lncursesw >&5
configure:11036: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11364: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11388: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11399: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11426: mipsel-linux-gnu-gcc -o conftest -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include -static -L//home/yuos/ncurses-mips-out/lib conftest.c -lelf -lncursesw >&5
configure:11471: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11524: mipsel-linux-gnu-gcc -o conftest -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include -static -L//home/yuos/ncurses-mips-out/lib conftest.c -lncursesw >&5
configure:11669: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11675: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11681: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11687: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11693: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11711: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11717: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11729: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11735: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11747: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11753: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11759: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11765: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11771: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11777: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11783: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11789: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11795: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11801: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11807: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11813: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11819: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11825: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11831: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11837: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11843: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11849: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11855: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11861: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11867: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11873: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11879: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11885: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11891: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11899: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11910: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11937: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:11990: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:12116: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:12152: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:12168: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:12168: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:12178: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:12178: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:12189: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:12189: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:12225: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:12225: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:12267: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:12283: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:12283: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:12293: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:12293: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:12319: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:12365: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:12384: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:12553: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:12674: mipsel-linux-gnu-gcc -c -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include conftest.c >&5
configure:12696: result: ncurses
configure:12699: checking for linking with ncurses library
configure:12712: mipsel-linux-gnu-gcc -o conftest -O2 -I//home/yuos/ncurses-mips-out/include -I//home/yuos/ncurses-mips-out/include -static -L//home/yuos/ncurses-mips-out/lib conftest.c -lncursesw -lncurses >&5
/usr/lib/gcc-cross/mipsel-linux-gnu/9/../../../../mipsel-linux-gnu/bin/ld: cannot find -lncurses
ac_cv_env_CFLAGS_value='-O2 -I//home/yuos/ncurses-mips-out/include'
ac_cv_env_CPPFLAGS_value=-I//home/yuos/ncurses-mips-out/include
ac_cv_env_LDFLAGS_value='-static -L//home/yuos/ncurses-mips-out/lib'
ac_cv_env_LIBS_value=-lncursesw
CFLAGS='-O2 -I//home/yuos/ncurses-mips-out/include'
CPPFLAGS='-I//home/yuos/ncurses-mips-out/include'
LDFLAGS='-static -L//home/yuos/ncurses-mips-out/lib'
LIBS='-lncursesw -lncurses'
解决报错A
将--with-tlib=ncurses \
改为--with-tlib=ncursesw \
即可
即:
CC=mipsel-linux-gnu-gcc \
vim_cv_toupper_broken=no \
vim_cv_tgetent=zero \
vim_cv_terminfo=yes \
vim_cv_getcwd_broken=no \
vim_cv_stat_ignores_slash=yes \
vim_cv_memmove_handles_overlap=yes \
./configure \
--build=x86_64-linux-gnu \
--host=mipsel-linux-gnu \
--target=mipsel-linux-gnu \
--disable-gui \
--without-x \
--disable-netbeans \
--disable-pythoninterp \
--disable-perlinterp \
--disable-rubyinterp \
--disable-luainterp \
--disable-tclinterp \
--disable-cscope \
--disable-terminal \
--with-tlib=ncursesw \
LDFLAGS="-static -L$HOME/ncurses-mips-out/lib" \
CFLAGS="-O2 -I$HOME/ncurses-mips-out/include" \
CPPFLAGS="-I$HOME/ncurses-mips-out/include"
定位报错B
用PC在路由器的vim端按上下左右键的时候,会变成输出A、B、C、D
解决报错B
在 Vim 的编译配置中,确保 –with-tlib=ncursesw 和 LDFLAGS 指向宽字符库:
原本:
--with-tlib=ncursesw \
LDFLAGS="-static -L$HOME/ncurses-mips-out/lib" \
CFLAGS="-O2 -I$HOME/ncurses-mips-out/include" \
CPPFLAGS="-I$HOME/ncurses-mips-out/include"
改:
./configure \
...其他参数... \
--with-tlib=ncursesw \
LDFLAGS="-static -L$HOME/ncurses-mips-out/lib -lncursesw" \
CFLAGS="-O2 -I$HOME/ncurses-mips-out/include"
即可