其他分享
首页 > 其他分享> > nload 嵌入式版本编译

nload 嵌入式版本编译

作者:互联网

因为最近项目中,现场的设备总是因为网络问题导致掉线,掉线的原因为:设备在上传数据到公司平台时,由于网络状态不好且数据量大时,会导致超时掉线(内部的处理机制),然后就想看看设备的实时流量信息及带宽,于是网上搜索出来nload这个东西,但都没有嵌入式版本的,于是开始动手进行编译。

1,下载源码

在公司服务器上,新建了一个目录,下载源码:

wget http://www.roland-riegel.de/nload/nload-0.7.4.tar.gz

2,编译

tar xzvf nload-0.7.4.tar.gz

cd nload-0.7.4

如果是编译x86版本的,直接./configure; make 即可编译出可执行文件nload,但要编译嵌入式版本的,需要指定平台,指定编译器前缀即可,如下:./configure --host=arm-himix200-linux,但是遇到了这个问题,

这个错误是说没有找到库ncurses,要编译嵌入式版本的nload,则必须要ncurses库。linux下编译最烦人可能就是依赖问题了,没办法,需要去编译ncurses库了。

3,编译ncurses

同样新建目录,下载源码:wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-6.2.tar.gz 我下载的是最新的版本。还好编译没遇到问题,直接:./configure --host=arm-himix200-linux; make,成功后,在当前目录lib下生成了静态库,如:

4,链接库

依赖库libncurses已经编译好了,但是在公司服务器上,make install是需要root权限的,如果能直接安装就不用源码编译了,怎么办?在./configure -h 显示帮助时,注意看到:

可以用环境变量,设置如下:

export LDFLAGS="-L/home/liangshen/practice/c_cpp/cpp/ncurses/ncurses-6.2/lib"

export CPPFLAGS="-I/home/liangshen/practice/c_cpp/cpp/ncurses/ncurses-6.2/include"

必须添加-L和-I,引号可加可不加,然后再执行:./configure --host=arm-himix200-linux

已经没有错误,执行make:

5,拷贝nload到板子上

直接用scp 拷贝nload到板子目录/mnt下

执行结果:

标签:nload,configure,ncurses,嵌入式,编译,源码,linux
来源: https://blog.csdn.net/tianyexing2008/article/details/117786235