七牛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
- 七牛c/c++的sdk在linux环境下编译使用
- 七牛qiniu c/c++ sdk 在windows系统环境下使用vs导入lib静态库的使用教程总结
- 七牛 C/C++ SDK 重新编译
- linux环境下编译C
- lua c在linux下的编译
- linux环境下C编程(七)
- 在linux环境下编译一个c/c++工程
- 在linux环境下编译一个c/c++工程
- 在linux环境下编译一个c/c++工程
- 在linux环境下 编译opencv (C++)工程
- 在Windows环境下配置Object-c的编译环境
- 在linux环境下尝试使用gcc编译一个程序,并验证-E\-S\-c选项
- Linux下学objective c的好办法,在ubuntu下使用GNUstep make编译objective c
- 嵌入式初学者在Linux环境下编译C语言的入门步骤
- 在window平台下模拟Liunx使用GCC环境进行编译C的SO库。
- 在window平台下模拟Liunx使用GCC环境进行编译C的SO库
- 在Centos-5下安装Objective-C的编译环境
- 一个简单的linux环境下C编译
- poj 2486 Apple Tree
- Andriod自学之路(序)
- web server及 Nginx
- android后台执行的定时任务
- tcpip Socket编程入门
- 七牛c/c++的sdk在linux环境下编译使用
- Java byte数组转String字符集问题
- okhttp使用https忽略证书验证
- NDK编译问题: Program "ndk-build" is not found in PATH 和 Unable to launch cygpath. Is Cygwin on the path?
- RecyclerView嵌套RecyclerView
- JDK环境变量配置
- light oj 1032(数位dp)
- AndroidUI——InputFilter的使用(2)
- springMVC (六) @responseBody