天天看點

curl 移植 arm linux,移植curl到正點原子arm開發版

使用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 檢視所需要的庫及庫的路徑

curl 移植 arm linux,移植curl到正點原子arm開發版

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 在開發闆上執行