编译crul文件之前,先去编译openssl,关于这个可以参考上一篇文章
这里是已经成功编译完openssl了
首先还是经典操作三部曲,wget下载源代码,解压,进入目录
wget https://curl.haxx.se/download/curl-7.65.3.tar.gz
tar xvf curl-7.65.3.tar.gz
cd curl-7.65.3/
之后开始配置,这个地方的配置我是从百度看了不少,一个个试过,总会出一些链接不到openssl的问题,我觉得问题应该是出在我的配置上,踩过的坑大概就像下边这样
整的我差点崩溃。。。想摆烂了
后来重现配置一下
./configure --host=arm-linux CXX=arm-linux-gnueabihf-g++ --with-ssl=/home/linaiyue/openssl/arm_openssl --enable-optimize --disable-debug --disable-curldebug --disable-symbol-hiding --disable-dict --disable-gopher --disable-imap --disable-pop3 --disable-rtsp --disable-smtp --disable-telnet --disable-sspi --disable-smb --disable-ntlm-wb --disable-tls-srp --disable-soname-bump --disable-manual --disable-file --disable-ldap --disable-tftp --enable-http --disable-ftp --disable-ipv6 --prefix=/home/linaiyue/curl
--host 后边是交叉编译工具链,我用的是arm-linux-gnueabihf-g++,这里一般只写到arm-linux就可以了
如果编译的是C语言的程序(我是编译C++)
CXX就改为CC,变成CC=arm-linux-gnueabihf-gcc
with-ssl后边带的是你的加密库,我说的必须先编译openssl就是这个原因,找到你安装openssl的路径,即你的动态库静态库文件存放的地方,填上。
后边参数不用管
直到最后一个--prefix
这里是你要存放curl链接库的地方,我新建了个curl文件夹在这,所以直接引用
然后开始编译,编译成功后
看好了LIBS那一栏,是否有lssl 和lcrypto这些文件
这样就是配置成功了
接下来就可以make 和make install了
一步一步来
不会报错了
make install
也成功了,再去查看刚刚新建的curl文件夹里
相关的动态库文件会存放在lib里边
这样curl的交叉编译就算成功啦!