一、編譯環境:
host
機:ubuntu-16.10(32bit)
target:
arm
交叉工具鏈:
arm-linux-gnueabi-gcc
工具包:
vim-7.4.tar.bz2
ncurses-5.9.tar.gz
vimncurses
二、編譯準備
/home/abc/test
資料夾,解壓縮兩個檔案。
tar xvzf ncurses-5.9.7.tar.gz
bzip2 -d vim-7.4.tar.bz2
tar xvf vim-7.4.tar
得到兩個目錄
vim74 ncurses-5.9
三、編譯
ncurses
由於vim
依賴於libtinfo.so
庫,而libtinfo.so
庫的功能都已經編入了
ncurses
庫中,因此需要先編譯
ncurses
,再建立
libtinfo.so
的符號鏈結鏈到
ncurses
庫即可,進入
ncurses
目錄,並配置交叉編譯
cd ncurses-5.9
./configure --prefix=/home/test/install_ncurses --host=arm-linux-gnueabi--without-cxx --without-cxx-binding --without-ada --without-manpages --without-progs--without-tests --with-shared
編譯並安裝
ncurses庫
make && make install
這樣在/home/test/install_ncurses
目錄下就生成了
ncurses
的庫和標頭檔案等檔案
bin include lib share 進入
lib目錄,建立
littinfo
的符號鏈結
cd lib
ln -s libncurses.so.5 libtinfo.so.5
ln -s libtinfo.so.5 libtinfo.so
拷貝交叉編譯後的install_ncureses目錄下的所有到交叉編譯機相應目錄下
四、編譯
vim
進入vim
目錄,並配置
vim編譯環境。
cd /home/abc/test/vim74
./configure --host=arm-fsl-linux-gnueabi--prefix=/usr --with-features=huge --disable-gui --without-x --disable-selinux--disable-acl --disable-gpm --with-tlib=ncurses vim_cv_getcwd_broken=novim_cv_memmove_handles_overlap=yes vim_cv_stat_ignores_slash=yesvim_cv_tgetent=zero vim_cv_terminfo=yes vim_cv_toupper_broken=novim_cv_tty_group=root vim_cv_tty_mode=0620
開始編譯
make
如果編譯中出現
arm-linux-gnueabi/bin/ld: cannot find -ltinfo
的錯誤,那說明
tinfo
的庫制定的路徑不對,或者前面的
ncuses
編譯的步驟存在問題。
五、移植到目標機
首先將ncurses
庫移植到目標機的
/usr/lib
目錄,並建立
tinfo
/mnt/sysroot目錄
cd /home/abc/test/install_ncurses
cp -frp lib/* / usr/lib/
cp -frp share/* / usr/share/
/*建立libtinfo.so的符號鏈結*/
cd /mnt/sysroot/usr/lib 將
vim可執行檔案移植到目標機
cd /home/abc/test/vim74/src
cp vim /usr/sbin
cd /usr/sbin
chmod 777 vim 刪除
vi,並將
vi鏈結到
vim
cd /bin
rm -f vi
ln -s /usr/sbin/vim vi
六、配置
vim
將vim.tar.bz2
解壓放入
/usr/share
目錄;將
vimrc
檔案放入
/etc/vim
目錄;解壓
vim.tar.bz2
後編輯vim/vim74/debian.vim:
搜尋:if &term =~ "xterm-debian" || &term =~"xterm-xfree86"
改為:if&term =~ "xterm-debian" || &term =~ "xterm-xfree86"|| &term =~ "linux"
;sett_co=16
改為set t_co=8
移植DHCP 4 1到ARM平台(交叉編譯)
二 解壓原始碼包,進入解壓後的目錄,輸入.configure命令。三 輸入make cc usr local arm 4.3.2 bin arm linux gcc static 命令,編譯後在client目錄下可得到dhclient可執行檔案。四 將client目錄下編譯好的dhclient可執行...
交叉編譯libparted到arm
libparted版本為parted 3.0,libuuid版本為libuuid.1.0.3 1.交叉編譯libuud 編譯配置選項 configure host arm none linux gnueabi prefix usr local uuid arm 注 安裝路徑為本人自行建立並指定,編譯...
python 交叉編譯到ARM
1.交叉編譯需要,先編譯pc版python 再編譯arm出來,用於生成語法解析器 configure make parser pgen2.配置 和編譯 export cc arm openwrt linux gcc configure host arm openwrt linux prefix ho...