ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

nload 嵌入式版本编译

2021-06-10 18:01:51  阅读:188  来源: 互联网

标签:nload configure ncurses 嵌入式 编译 源码 linux


因为最近项目中,现场的设备总是因为网络问题导致掉线,掉线的原因为:设备在上传数据到公司平台时,由于网络状态不好且数据量大时,会导致超时掉线(内部的处理机制),然后就想看看设备的实时流量信息及带宽,于是网上搜索出来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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有