1.下载代码到本地
git clone https://github.com/qiniu/c-sdk.git
如果国外下载速度慢,可以用码云的镜像库
git clone https://gitee.com/cqnews/c-qiniu-sdk.git
2.该项目依赖库curl
和openssl
库
sudo apt-get install libcurl4-openssl-dev libssl-dev
3.编写Makefile文件
INCLUDE_PATH=-Ibase64 -IcJSON -Iqiniu SOURCE_FILES=\ b64/b64.c\ b64/urlsafe_b64.c\ cJSON/cJSON.c\ qiniu/auth_mac.c\ qiniu/base.c\ qiniu/base_io.c\ qiniu/cdn.c\ qiniu/conf.c\ qiniu/fop.c\ qiniu/http.c\ qiniu/io.c\ qiniu/macro.h\ qiniu/qetag.c\ qiniu/reader.c\ qiniu/resumable_io.c\ qiniu/rs.c\ qiniu/tm.c\ all:$(SOURCE_FILES) gcc -g -c -fPIC $^ $(INCLUDE_PATH) -lcurl -lcrypto -lssl -lm gcc -shared -o libqiniu.so *.o -lcurl -lcrypto -lssl -lm install: sudo cp libqiniu.so /usr/local/lib uninstall: sudo rm -rf /usr/local/lib/libqiniu.so clean: rm -rf *.o rm -rf *.so
上面的Makefile是把所有代码编译为.o
目标文件。
4.我们可以使用工具ar
打包为静态库
ar rcs libqiniu.a *.o
5.我们也可以基于.o
文件构建动态库
gcc -shared -o libqiniu.so *.o -lcurl -lcrypto -lssl -lm
6.最终得到的构建完毕的发布包:
. ├── include │ ├── b64 │ │ ├── b64.h │ │ └── urlsafe_b64.h │ ├── cJSON │ │ └── cJSON.h │ └── qiniu │ ├── base.h │ ├── cdn.h │ ├── conf.h │ ├── fop.h │ ├── http.h │ ├── io.h │ ├── macro.h │ ├── qetag.h │ ├── reader.h │ ├── region.h │ ├── resumable_io.h │ ├── rs.h │ └── tm.h └── lib ├── libqiniu.a └── libqiniu.so