失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > linux 软件移植(库移植与源码移植编译)

linux 软件移植(库移植与源码移植编译)

时间:2022-09-03 07:54:33

相关推荐

linux 软件移植(库移植与源码移植编译)

Linux下的软件移植,基本都是自己编译源码,步骤都是配置,然后编译,安装。

注意:

配置的时候会设置—prefix参数,也就是我们最终安装的位置,如果不设置的话就是默认安装位置。将编译出来的库要放到开发板里面去。

在 tool 目录下新建名为“ncurses”目录,用于保存 ncurses 编译结果,一切准备就绪以后

就可以编译 ncureses 库了。进入到 ncureses 源码目录下,也就是刚刚解压出来的 ncurses-6.0 目

录中,首先是配置 ncureses。

export ARCH=arm

export CROSS_COMPILE=arm-buildroot-linux-gnueabihf-

export PATH=$PATH:/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin

一、移植库(ncurses),解压开后,在文件中可以发现有一个配置文件:configure。

1.解压文件: tar -vxzf ncurses-6.0.tar.gz

2.配置文件:

./configure --prefix=/home/book/linux/IMX6ULL/tool/ncurses --host=arm-linuxgnueabihf --with-shared --without-profile --disable-stripping --withoutprogs --with-manpages --without-tests

configure 就是配置脚本;

--prefix 用于指定编译结果的保存目录,这里肯定将编译结果保存到我们前面创建的“ncurses”目录中。

--host 用于指定编译器前缀,这里设置为 “arm-linuxgnueabihf”;

3.编译:

配置成功以后输入“make”命令开始编译。

编译成功以后输入“make install”命令安装,安装的意思就是将编译出来的结果拷贝到--pfefix 指定的目录里面去。

4.include、 lib 和 share 这三个目录中存放的文件分别拷贝到开发板根文件系统中的/usr/include、 /usr/lib 和/usr/share 这三个目录中。

程序在板子上运行时,需要用到板子上/lib 或/usr/lib 下的库文件;程序运行时不需要头文件。

sudo cp lib/* /usr/lib/ -rfa

sudo cp share/* /usr/share/ -rfa

sudo cp include/* /usr/include/ -rfa

注:把头文件、库文件放到工具链目录里如果你编译的是一个库,请把得到的头文件、库文件放入工具链的 include、lib 目录里。 别的程序要使用这些头文件、库时,会很方便。

5.然后在开发板根目录的/etc/profile(没有的话自己创建一个)文件中添加如下所示内容:(不指定也没什么关系)

/etc/profile 文件#!/bin/shLD_LIBRARY_PATH=/lib:/usr/lib:$LD_LIBRARY_PATH //指定开发板中库的路径export LD_LIBRARY_PATHexport TERM=vt100export TERMINFO=/usr/share/terminfo

二、移植源码(minicom)

1 tar -vxzf minicom-2.7.1.tar.gz

2 cd minicom-2.7.1/ //进入 minicom 源码目录

3 ./configure CC=arm-linux-gnueabihf-gcc

--prefix=/home/book/linux/IMX6ULL/tool/minicom

--host=arm-linux-gnueabihf

CPPFLAGS=-I(链接的意思)/home/book/linux/IMX6ULL/tool/ncurses/include(前面编译库的存放的头文件路径)

LDFLAGS=-L(链接的意思)/home/book/linux/IMX6ULL/tool/ncurses/lib(前面编译库的存放的lib的路径)

-enable-cfgdir=/etc/minicom//配置

CC 表示要使用的 gcc 交叉编译器;

--prefix 指定编译出来的文件存放目录,肯定要存放到我们前面创建的 minicom 目录中。

--host 指定交叉编译器前缀;

CPPFLAGS 指定 ncurses 的头文件路径;

LDFLAGS 指定 ncurses 的库路径。

注:把头文件、库文件放到工具链目录里如果你编译的是一个库,请把得到的头文件、库文件放入工具链的 include、lib 目录里。 别的程序要使用这些头文件、库时,会很方便。

如果把得到的头文件、库文件放入工具链的 include、lib 目录里,就不需要CPPFLAGS与LDFLAGS了。

4 配置成功以后执行如下命令编译并安装:

make

make install

5.将 minicom 目录中 bin 子目录下的所有文件拷贝到开发板根目录中的/usr/bin 目录下,命令

如下:

sudo cp bin/* /usr/bin/

完成以后在开发板中输入“minicom -v”来查看 minicom 工作是否正常。

6.输入如下命令打开 minicom 配置界面:

minicom -s

7.如果执行第6步出现问题,解决方法。

新建/etc/passwd 文件,然后在 passwd 文件里面输入如下所示内容:

/etc/passwd 文件

root:x:0:0:root:/root:/bin/sh

如果觉得《linux 软件移植(库移植与源码移植编译)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。