参考文档如下:
https://blog.csdn.net/H_A666/article/details/114884482
https://blog.csdn.net/lu_yonggang/article/details/62041422
https://blog.csdn.net/RookieWutongshu/article/details/86728315
https://www.cnblogs.com/xietianjiao/
(一)安装OpenSSL库
-
wget http://www.openssl.org/source/openssl-1.1.0e.tar.gz
-
解压,根据INSTALL安装
(二)安装libcurl库
-
库下载https://github.com/curl/curl/releases/tag/curl-7_71_1
-
安装时要安装支持ssl的
(三)编译时报错
1、
gcc democar.c -I ./curl-7.71.1/_install/include/ -L ./curl-7.71.1/_install/lib/ -lcurl
- .
/curl-7.71.1/_install/lib//libcurl.so: undefined reference to `SSL_CTX_set_keylog_callback@OPENSSL_1_1_1'
./curl-7.71.1/_install/lib//libcurl.so: undefined reference to `SSL_CTX_set_post_handshake_auth@OPENSSL_1_1_1'
./curl-7.71.1/_install/lib//libcurl.so: undefined reference to `SSL_CTX_set_ciphersuites@OPENSSL_1_1_1'
按照上面编译时报这种错误时,指令上加上-lssl -lcrypto就可以啦。如下:
gcc democar.c -I ./curl-7.71.1/_install/include/ -L ./curl-7.71.1/_install/lib/ -lcurl -lssl -lcrypto
2、执行./a.out程序报以下错误时
openssl: /usr/lib/x86_64-linux-gnu/libssl.so.1.1: version OPENSSL_1_1_1’ not found (required by openssl)
这种情况是LD_LIBRARY_PATH这个环境变量没有指定。
解决方法:$ export LD_LIBRARY_PATH=/usr/local/lib