七牛c/c++的sdk在linux环境下编译使用

来源:互联网 发布:深圳眼镜店哪家好 知乎 编辑:程序博客网 时间:2024/06/14 12:46

1,首先需要下载需要的依赖

apt-get install makeapt-get install cURLapt-get install OpenSSLapt-get install gccapt-get install g++sudo apt-get install libcurl4-openssl-dev

2,下载官方的sdk文件到本地

wget ....

3,编译c/c++ sdk

进入到sdk的目录中直接make

4,找到编译后的文件

make后的显示

root@ts-test:~/c-sdk-6.2.5# makecd docs/gist; makemake[1]: Entering directory `/root/c-sdk-6.2.5/docs/gist'gcc ../../b64/urlsafe_b64.c ../../cJSON/cJSON.c ../../qiniu/conf.c ../../qiniu/base.c ../../qiniu/base_io.c ../../qiniu/http.c ../../qiniu/io.c ../../qiniu/resumable_io.c client.c -o qiniuclient.exe -lcurl -lmgcc ../../b64/urlsafe_b64.c ../../cJSON/cJSON.c ../../qiniu/conf.c ../../qiniu/base.c ../../qiniu/base_io.c ../../qiniu/http.c ../../qiniu/auth_mac.c ../../qiniu/rs.c ../../qiniu/io.c server.c -o qiniuserver.exe -lcurl -lssl -lcrypto -lmOKmake[1]: Leaving directory `/root/c-sdk-6.2.5/docs/gist'

可以看出在~/c-sdk-6.2.5/docs/gist这个目录中有两个文件, qiniuclient.exe qiniuserver.exe 被编译出现。

5,我们来看下编译过程中的Makefile

root@ts-test:~/c-sdk-6.2.5/docs/gist# cat Makefile CLIENT_SOURCE_FILES=\    ../../b64/urlsafe_b64.c\    ../../cJSON/cJSON.c\    ../../qiniu/conf.c\    ../../qiniu/base.c\    ../../qiniu/base_io.c\    ../../qiniu/http.c\    ../../qiniu/io.c\    ../../qiniu/resumable_io.c\    client.c\SERVER_SOURCE_FILES=\    ../../b64/urlsafe_b64.c\    ../../cJSON/cJSON.c\    ../../qiniu/conf.c\    ../../qiniu/base.c\    ../../qiniu/base_io.c\    ../../qiniu/http.c\    ../../qiniu/auth_mac.c\    ../../qiniu/rs.c\    ../../qiniu/io.c\    server.c\all: client server    @echo "OK"client: $(CLIENT_SOURCE_FILES)    gcc $^ -o qiniuclient.exe -lcurl -lmserver: $(SERVER_SOURCE_FILES)    gcc $^ -o qiniuserver.exe -lcurl -lssl -lcrypto -lminstall: all    @echoclean:    rm -f *.exetest:    @echo

从Makefile来看已经编译成功了,包含了七牛服务端和客户端所需要的所有信息。

6,准备编译七牛的c/c++ sdk生成共享库文件libqiniu.so

首先需要在安装cmake

apt-get install cmake

6,如何编译七牛的c/c++ sdk为共享库.so文件呢

下载这个地址:https://github.com/BluntBlade/c-sdk/blob/20160601.cmakelist/CMakeLists.txt

CMakeLists.txt是用来cmake生成Makefile的配置文件。
cat下这个Makefile文件可以看到文件已经修改为编译o文件并且生成so文件的Makefile文件。

root@ts-test:~/c-sdk# makeScanning dependencies of target qiniu[  7%] Building C object CMakeFiles/qiniu.dir/qiniu/qetag.c.o[ 15%] Building C object CMakeFiles/qiniu.dir/qiniu/base.c.o[ 23%] Building C object CMakeFiles/qiniu.dir/qiniu/conf.c.o[ 30%] Building C object CMakeFiles/qiniu.dir/qiniu/rs.c.o[ 38%] Building C object CMakeFiles/qiniu.dir/qiniu/fop.c.o[ 46%] Building C object CMakeFiles/qiniu.dir/qiniu/io.c.o[ 53%] Building C object CMakeFiles/qiniu.dir/qiniu/resumable_io.c.o[ 61%] Building C object CMakeFiles/qiniu.dir/qiniu/base_io.c.o[ 69%] Building C object CMakeFiles/qiniu.dir/qiniu/http.c.o[ 76%] Building C object CMakeFiles/qiniu.dir/qiniu/auth_mac.c.o[ 84%] Building C object CMakeFiles/qiniu.dir/b64/b64.c.o[ 92%] Building C object CMakeFiles/qiniu.dir/b64/urlsafe_b64.c.o[100%] Building C object CMakeFiles/qiniu.dir/cJSON/cJSON.c.oLinking C shared library libqiniu.so[100%] Built target qiniuroot@ts-test:~/c-sdk# lsb64           cJSON           CMakeFiles           CMakeLists.txt  CUnit  docs         Makefile  README.mdCHANGELOG.md  CMakeCache.txt  cmake_install.cmake  configure       demo   libqiniu.so  qiniu     testsroot@ts-test:~/c-sdk# cat Makefile 

可以看到生成了libqiniu.so的文件。成功

共享库so文件下载地址:
64位

http://liuhanlin-work.qiniudn.com/libqiniu_linux_amd64.zip

32位

http://77g1hu.com1.z0.glb.clouddn.com/dev/libqiniu_linux_x86.zip
0 0
原创粉丝点击