使用curl来解析网页的api
一,下载curl源码
二,配置curl
./configure --prefix=/home/jfs/linux/tool/libcurl --host=arm-linux CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++
其中:
--prefix=/home/jfs/linux/tool/libcurl是curl的安装路径
CC=arm-linux-gnueabihf-gcc
CXX=arm-linux-gnueabihf-g++
CC和CXX是对应使用的交叉编译器。
然后执行
make
make install
生成成功后在libcurl目录下有四个文件夹:
bin 、include、 lib、 share
三,移植到arm平台上
1,先到libcurl/bin下 readelf -d curl 查看curl的所需的库文件及库目录
或者使用ldd curl 查看所需要的库及库的路径

2020-08-13 22-36-30 的屏幕截图.png
我这里显示库的路径是:“Library rpath: [/home/jfs/linux/tool/libcurl/lib]”
所以在开发板上要创建同样的路径名字,并将库文件全部复制
cp /home/jfs/linux/tool/libcurl/lib/* /home/jfs/linux/file/nfs/rootfs/home/jfs/linux/tool/libcurl/lib
2,复制bin下面的curl到开发板上
cp /home/jfs/linux/tool/libcurl/bin/curl /home/jfs/linux/file/nfs/rootfs/home
3,然后再开发版上面执行./curl
~ # ./curl ./curl: errorwhileloading shared libraries: libz.so.1: cannot open sharedobjectfile: No suchfileordirectory
提示没有libz.so.1的库文件(后面还有很多这样的提示)
解决:开发板上已经有相应的库文件了,只是curl找不到
cp /lib/libz.so.1 /home/jfs/linux/file/nfs/rootfs/home/jfs/linux/tool/libcurl/lib 这是在开发板上执行的
然后继续执行./curl看还缺少什么库,继续使用上面的操作将库补全。
四,将curl放入开发板的bash目录
我的开发板bash目录是/bin
cp curl /bin 在开发板上执行