vim 移植记录
下载两个源码包:
vim :
ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz2\
ncurses-5.8.tar.gz
http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.8.tar.gz
因为vim 依赖相关的终端库,所以先交叉编译 ncurses
tar -xvf ncurses-5.8.tar.gz
cd ncurses-5.8
vim build.sh
#!/bin/sh
./configure --prefix=/home/sbc_7816_sdk6/test/gdb/ncurses-5.8/output --host=arm-linux CC=arm-linux-gcc --without-cxx --without-cxx-binding --without-ada --without-manpages --without-progs --without-tests --with-shared
make
make install
生成的库在 output 目录下
sbc_7816_sdk6@aplex:~/test/gdb/ncurses-5.8$ ls output/
bin include lib share
sbc_7816_sdk6@aplex:~/test/gdb/ncurses-5.8$ ls output/lib/
libform.a libform.so.5 libmenu_g.a libmenu.so.5.8 libncurses.so libpanel.a libpanel.so.5
libform_g.a libform.so.5.8 libmenu.so libncurses.a libncurses.so.5 libpanel_g.a libpanel.so.5.8
ibform.so libmenu.a libmenu.so.5 libncurses_g.a libncurses.so.5.8 libpanel.so terminfo
相关的库交叉编译出来了,现在来交叉编译 vim
tar -xvf vim-7.4.tar.bz2
cd vim74
vim build.sh
#!/bin/sh
./configure --with-features=tiny --disable-gui \
--without-x --disable-selinux --disable-acl --disable-gpm \
CC=arm-none-linux-gnueabi-gcc \
--host=arm-none-linux-gnueabi \
--with-tlib=ncurses \
vim_cv_terminfo=yes \
vim_cv_getcwd_broken=no \
vim_cv_memmove_handles_overlap=yes \
vim_cv_stat_ignores_slash=yes \
vim_cv_tgetent=zero \
vim_cv_terminfo=yes \
vim_cv_toupper_broken=no \
vim_cv_tty_group=root \
vim_cv_tty_mode=0620
--with-tlib=ncurses \
// 这个参数很重要,要指定库的名字,不然后 configure 一直过不去。
make
// 这个make install 不了。
// 在 src 里面能找到 vim
// 将vim 放到目标文件的 usr/sbin/ 里面,替换原来的 vim
// 将 ncurses 的库放在 usr/lib 里面。
// 在目标文件系统里面 etc/profile 里面加入
export TERM="xterm"
// 不然会报 E437: terminal capability "cm" required 错误
// 启动嵌入式文件系统,看一下效果。
vim 移植记录的更多相关文章
- MiniCRT 64位 linux 系统移植记录:64位gcc的几点注意
32位未修改源码与修改版的代码下载: git clone git@github.com:youzhonghui/MiniCRT.git MiniCRT 64位 linux 系统移植记录 MiniCRT ...
- Vim安装记录
Vim安装记录 参考链接 安装命令 1. 安装依赖库 2. 下载最新vim源码 3. 删除旧版vim 4. 配置configure.编译.安装 5. 设置vim为默认编辑器 6. 必要的配置 Vim安 ...
- Linux系列笔记 - vim相关记录
一.常用到的vim命令 这里只简单记录常用到的命令,后面会有自己记录的命令,但有些可能不常用. 常规模式: gg 跳到文件头 shift+g 跳到文件尾 行数+gg 跳到指定行 如:123gg 跳到1 ...
- vim命令记录
最近开始用vim作为日常编辑器,由于vim的命令过多,现在记录一下
- canconfig 移植记录
can 在Linux 里面是作为一个网络设备存在的,记录一下 canconfig 移植过程. 一. 下载 canutils 和 libsocketcan libsocketcan 地址: http:/ ...
- 我的vim配置记录
一 总体介绍 配置路径,/etc/vim/vimrc,这个是系统的vim配置,假设一台PC多个用户使用,每一个用户的习惯不同的话,能够使用不同的配置.在用户文件夹下新建一个.vimrc的文件就能够了. ...
- vim 学习记录
VIM中PHP代码使用tab键自动完成 更新于 2013-01-18 05:47:55UEANER 目录结构 $ tree -C ~/.vim | grep -v ".cnx" | ...
- dhcp server 移植记录
这次移植 WIFI ,需要做成 AP 模式,所以,需要移植 dhcp 服务端 busybox 里面自带 udhcpd 选项. 打开buildroot , make busybox-menuconfig ...
- ssh 移植记录
利用buildroot 先编译一个 sshd cd buildroot-2016.05/ make menuconfig Target packages ---> Networking appl ...
随机推荐
- docker login harbor出现的报错Error response from daemon: Get https://172.16.1.99/v1/users/: dial tcp 172.16.1.99:443: getsockopt: connection refused解决方法
出现的问题 [root@master01 ~]# docker login 172.16.1.99 Username: admin Password: Error response from daem ...
- NET的基本用法(摘)
摘自:http://baike.baidu.com/link?url=Knc-OicoX8CPcaMS0r3eU8z8ns9z1S6OsRaBTYUIT1raU0FsPWQ35xL-dlxKg9Oy# ...
- Maven 向私服nexus上传jar
1. 单个jar上上传 方法一:利用界面(省略) 方法二:利用命令行: 1). 安装到本地库:mvn install:install-file -DgroupId=org.apache.hadoop ...
- 关于android.view.WindowLeaked(窗体泄露)的解决方案
虽然是小问题一个,但也困扰了我一段时间,现在记下来,给自己做个备忘,也可以给其他人一个参考 view plaincopy to clipboardprint? 01-08 01:49:27.874: ...
- android离线地图源码
最近一直在玩Android手机,当然也忘不了在这个平台下搞些和地图相关的东西. Android手机自带了Google的地图软件,不过原来不支持离线浏览,所以很费流量,5.0版本以后可以支持离线浏览,需 ...
- NYOJ239 月老的难题 【二分图最大匹配·匈牙利】
月老的难题 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描写叙述 月老准备给n个女孩与n个男孩牵红线.成就一对对美好的姻缘. 如今,因为一些原因,部分男孩与女孩可能结成幸福 ...
- gradle平级项目引用
一.准备1. 新建一个gradle项目cc-core2. 新建一个gradle项目cc-util 二.场景项目cc-core引用项目cc-util 三.配置1. 项目cc-util被引用的项目什么都不 ...
- 连接mysql-front数据库出现‘执行错误1251’的解决办法(有效)
原因是MySQL8.0版本的加密方式和MySQL5.0的不一样,连接会报错. 解决方法:更改加密方式 控制台中先连接mysql: 再输入: ALTER USER 'root'@'localhost' ...
- starUML破解方法(Windows10 & MAC)
安装好,打开安装目录,依次找到[www\license\node],找到名为[LicenseManagerDomain]的js文件,打开它,在第25行位置插入以下几句代码: return { name ...
- js 数据结构-栈与队列
/*[客栈的盘子/月井里的货物,后进先出]栈顶:最先入口/出口的位置栈底:最慢最晚出栈的位置*/ function Stack() { var item = []; //推(将货物推入月井) this ...