一键化安装oss c sdk,轻松搞定第三方库依赖-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

一键化安装oss c sdk,轻松搞定第三方库依赖

yjseu 2015-10-31 18:18:32 14748
      最近收到用户反馈使用oss c sdk时安装依赖的第三方库比较麻烦,和oss c sdk的开发同学沟通后,推出一键化安装oss c sdk的小工具,在这里和大家分享。


      进入正题之前,我们先说说为什么oss c sdk没有直接给出编译好的静态库,而要用户自己安装第三方库。很多使用c进行开发的同学会有这样的体会,c语言不是跨平台的,很多时候开发需要依赖具体的环境,oss c sdk的开发同学为了减少这方面的麻烦,在开发oss c sdk的时候已经有所考虑,使用了apache项目中的apr和apr-util第三方库,最大程度降低了用户在不同平台上开发的成本。但是oss c sdk底层通信使用CURL,解析OSS返回的XML结果使用libxml2(libxml2相对来说比较重,后面考虑使用minixml替代),由于开发平台的多样性,安装CURL和libxml2时使用相同的编译结果显然是不可行的,所以需要用户自己下载oss c sdk依赖的第三方库,然后采用二进制编译的方式,这样就解决了oss c sdk在不同平台上第三方库的编译问题。


      针对最近有用户提出希望简化oss c sdk第三方库安装的问题,oss c sdk开发同学结合前面和一些用户一起开发的经验,推出一键化安装的小工具,方便用户快速完成第三方库的安装。下面我们将会和大家一起看一下整个过程,以及需要注意的事项。


1、下载一键化安装oss c sdk的小工具
wget http://gosspublic.alicdn.com/oss_c_sdk_3rd_party_install.sh -O oss_c_sdk_3rd_party_install.sh
wget http://gosspublic.alicdn.com/oss_c_sdk_install.sh -O oss_c_sdk_install.sh


(1)第三方库安装工具oss_c_sdk_3rd_party_install.sh
这个小工具的作用是下载oss c sdk依赖的第三方库,然后按照默认的方式对第三方库进项安装。 需要用户注意的是安装过程中会在/usr/local目录下创建第三方库生成的相应目录,并且安装过程中需要sudo权限。同时,考虑到使用oss c sdk的很多用户是在嵌入式环境下进行开发,所以安装第三方库时针对嵌入式系统进行了一些优化,去除了第三方库一些不必要的功能。
如果用户在安装过程中遇到诸如权限的问题,那么可以修改第三方库编译过程中的一些选项,比如指定适合自己开发环境的 --prefix路径


(2)oss c sdk静态库一键编译工具oss_c_sdk_install.sh
oss c sdk编译采用auto make的方式,oss_c_sdk_install.sh小工具将会下载最新linux版本的oss c sdk,并使用前面第三方库安装工具的默认编译路径对oss c sdk进行编译。小工具运行完后,用户可以看到生成了oss c sdk的静态库liboss_c_sdk.a。 需要用户注意的是如果第三方库安装工具运行时修改了一些默认选项(主要是--prefix选项),那么请在Makefile.am或者Makefile中修改相应的第三方库头文件以及静态库路径,如下所示

INCLUDES=\
    -I.\
    -I/usr/local/include/\
    -I/usr/include/libxml2\
    -I/usr/local/apr/include/apr-1\
    -I/usr/local/apr-util/include/apr-1


liboss_c_sdk_a_CFLAGS=\
    -D_LARGEFILE64_SOURCE\
    -fPIC


2、开启oss c sdk体验之路
完成了上面的两步,用户可以进入oss c sdk目录下的demo和sample目录,体验使用oss c sdk访问OSS。其中demo目录下包括最基本的上传和下载数据方式,sample目录中包含了对oss c sdk所有接口的使用示例。用户只需要修改oss_config.c中的相应配置项,然后运行make命令,就可以在demo目录下看到生成的oss_c_sdk_demo可执行文件,sample目录中生成oss_c_sdk_sample可执行文件,运行相应的可执行文件,就可以访问OSS服务进行上传和下载数据等操作。


       好了,上面分享了如何快速搞定oss c sdk第三方库的安装以及oss c sdk的编译问题,希望对大家使用oss c sdk访问OSS有所帮助。最后,如果你对第三方库的安装有自己的需求,建议参考前面关于如何编译oss c sdk的分享 http://bbs.aliyun.com/read/260851.html?spm=5176.bbsl211.0.0.OhQmqw
      感谢大家耐心看完这个分享,您有好的建议欢迎及时提出来,我们会持续改进oss c sdk,方便大家使用OSS服务
XML Linux Apache 开发工具 对象存储 C语言 数据格式
分享到
取消 提交回答
全部回答(12)
  • lblily
    2018-06-11 14:40:08
    Re一键化安装oss c sdk,轻松搞定第三方库依赖
    小工具下载不下来,请问谁帮忙发一下我邮箱吧, lblily@126.com, 谢谢
    0 0
  • jdcrew
    2016-09-30 14:41:41
    回 14楼无衣蒹葭的帖子
    请问有具体的解决步骤么?是第一个工具没有安装依赖包导致第二个工具失败还是第二个工具的问题?
    0 0
  • 少强
    2016-04-22 09:46:15
    回 13楼(臧顶顶) 的帖子
    这个自动安装脚本是针对oss c sdk 0.0.*版本的,由于1.0.0,2.**等版本的依赖包发生了变化,目前需要您按照文档手动安装依赖包,后续有计划在sdk中增加正式的依赖包安装脚本。
    0 0
  • 臧顶顶
    2016-04-21 15:44:24
    Re一键化安装oss c sdk,轻松搞定第三方库依赖
    并不能成功啊 出现这个问题。该怎么办  没有修改选项
    0 0
  • 冬天蚂蚁
    2015-12-30 21:48:00
    Re一键化安装oss c sdk,轻松搞定第三方库依赖
    同样,小工具下载不了 ,麻烦楼主发一下,非常感谢! hzengsheng@163.com
    0 0
滑动查看更多
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题