一、安装openssl库
1.1、下载openssl源码
//https://www.openssl.org/source/
//https://ftp.openssl.org/source/old/1.1.1
wget https://ftp.openssl.org/source/old/1.1.1/openssl-1.1.1i.tar.gz
1.2、解压、配置、编译并安装
tar -xzf openssl-1.1.1i.tar.gz
cd openssl-1.1.1i/
./config
make -j4
sudo make install
二、安装curl库
2.1下载curl源码
//https://github.com/curl/curl/releases/tag/curl-7_71_1
wget https://curl.se/download/curl-7.71.1.tar.bz2
2.2、解压、配置、编译并安装
tar -xjf curl-7.71.1.tar.bz2
cd curl-7.71.1/
./configure --prefix=$HOME/curl --with-ssl
make -j4
make install
三、安装cjson库
3.1、下载源代码
git clone https://github.com/DaveGamble/cJSON
3.2、解压、配置、编译并安装
//unzip cJSON-master.zip
cd cJSON/
sudo make
sudo make install
3.3、错误解决
error while loading shared libraries: libcjson.so.1: cannot open shared object file: No such file or directory
sudo ldconfig
四、复制cJSON库(补充用法)
4.1、下载源代码
https://github.com/DaveGamble/cJSON
将里面的cJSON.c、cJOSN.h加入工程文件夹编译时加上cJSON.c
4.2、验证
建工程文件夹
工程文件夹包含以下文件
写测试代码
#include<stdio.h>
#include<stdlib.h>
#include"cJSON.h"
int main(void)
{
char *data = "{\"hobby\":[\"LOL\",\"sleeping\",\"eat\"],\"tall\":\"170\",\"age\":\"20\"}";
//从缓冲区中解析出JSON结构
cJSON * json= cJSON_Parse(data);
//将传入的JSON结构转化为字符串 并打印
printf("%s\n",cJSON_Print(json));
//将JSON结构所占用的数据空间释放
cJSON_Delete(json);
return 0;
}
编译运行
gcc -o test test.c cJSON.c
./test.c
结果
五、配置环境变量
sudo vi /etc/profile
最后一行增加
export C_INCLUDE_PATH=$C_INCLUDE_PATH:$HOME/curl/include
export LIBRARY_PATH=$LIBRARY_PATH:$HOME/curl/lib
执行以下命令生效
source /etc/profile
六、编译调用curl库的程序
#include <curl/curl.h>
gcc xxx.c -lcurl -lssl -lcrypto
七、编译调用cjson库的程序
#include <cjson/cJSON.h>
gcc xxx.c -lcjson