一、下載curl源碼
下載地址:https://curl.haxx.se/download/

二、創建目標輸出目錄
我創建了兩個,一個放linux版本、一個放arm版本。
# mkdir build_linux build_arm
三. 解壓文件
# tar -xvf curl-7.63.0.tar.xz
四. 配置並編譯
Linux版本: (--prefix指定編譯輸出安裝路徑 --enable-static 指定編譯靜態庫)
# ./configure --prefix=/home/gec/csdn/curl/build_linux --enable-static
# make
# make install
ARM版本:(--prefix指定編譯輸出安裝路徑 --enable-static 指定編譯靜態庫 CC指定交叉編譯工具鏈)
# ./configure --host=arm-linux CC=arm-linux-gcc --prefix=/home/gec/csdn/curl/build_arm --enable-static
# make
# make install
1.此處的 --enable-static 加上沒效果,最后還是動態鏈接。至少這個版本是這樣的
2.--prefix后面一定要是絕對路徑,不能是相對路徑
五.移植到arm平台上,因為上面的 --enable-static 選項沒起作用,需要將用到的庫復制到對應路徑,這里變態的不是從默認的/lib目錄下讀取庫文件
1.先到libcurl/bin下 readelf -d curl 查看curl的所需的庫文件及庫目錄

我這里顯示庫的路徑是:“Library rpath: [/home/arm/share/4.開源庫/curl-7.63.0/xxx/lib]”
2. 在開發板上要創建同樣的路徑名字,並將庫文件全部復制
mkdir /home/arm/share/4.開源庫/curl-7.63.0/xxx/lib -p
cp /nfs/4.開源庫/curl-7.63.0/xxx/lib/ /home/arm/share/4.開源庫/curl-7.63.0/xxx/lib/
如果不做上述操作,執行curl命令時,不管后面是什么,一律返回:curl: (48) Error,也不提示是不是缺少庫所造成的!

六. 復制bin下面的curl到開發板上,路徑隨意
參考
不需要openssl
https://blog.csdn.net/fangye945a/article/details/86500817
https://www.jianshu.com/p/4688db3e2fdc
需要openssl
https://www.cnblogs.com/hesetone/p/13724866.html
https://blog.csdn.net/yao00037/article/details/118001062
