开发者社区> 问答> 正文

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

      最近收到用户反馈使用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服务

展开
收起
yjseu 2015-10-31 18:18:32 16010 0
12 条回答
写回答
取消 提交回答
  • Re一键化安装oss c sdk,轻松搞定第三方库依赖
    小工具下载不下来,请问谁帮忙发一下我邮箱吧, lblily@126.com, 谢谢
    2018-06-11 14:40:08
    赞同 展开评论 打赏
  • 回 14楼无衣蒹葭的帖子
    请问有具体的解决步骤么?是第一个工具没有安装依赖包导致第二个工具失败还是第二个工具的问题?
    2016-09-30 14:41:41
    赞同 展开评论 打赏
  • 回 13楼(臧顶顶) 的帖子
    这个自动安装脚本是针对oss c sdk 0.0.*版本的,由于1.0.0,2.**等版本的依赖包发生了变化,目前需要您按照文档手动安装依赖包,后续有计划在sdk中增加正式的依赖包安装脚本。
    2016-04-22 09:46:15
    赞同 展开评论 打赏
  • Re一键化安装oss c sdk,轻松搞定第三方库依赖
    并不能成功啊 出现这个问题。该怎么办  没有修改选项
    2016-04-21 15:44:24
    赞同 展开评论 打赏
  • Re一键化安装oss c sdk,轻松搞定第三方库依赖
    同样,小工具下载不了 ,麻烦楼主发一下,非常感谢! hzengsheng@163.com
    2015-12-30 21:48:00
    赞同 展开评论 打赏
  • Re一键化安装oss c sdk,轻松搞定第三方库依赖
    小工具下载不了 麻烦发一个 谢谢! 409925134@qq.com
    2015-11-27 14:40:20
    赞同 展开评论 打赏
  • Aliyun OSS 研发,专注存储高性能
    Re一键化安装oss c sdk,轻松搞定第三方库依赖
    2015-11-26 16:10:57
    赞同 展开评论 打赏
  • Re一键化安装oss c sdk,轻松搞定第三方库依赖
    小工具下载不下来,请问谁帮忙发一下我邮箱吧, carolinewanjun@126.com,拜托了

    -------------------------

    回 7楼yjseu的帖子
    非常感谢
    2015-11-24 16:51:21
    赞同 展开评论 打赏
  • cdm
    Re一键化安装osscsdk,轻松搞定第三方库依赖
    支持
    2015-11-04 17:54:32
    赞同 展开评论 打赏
  • 回 2楼(51干警网.) 的帖子
    后续会结合用户的需求,和oss的开发同学沟通,方便用户使用oss服务

    -------------------------

    回 6楼(xwjcaroline) 的帖子
    已发,请查收

    -------------------------

    回 10楼(逝年) 的帖子
    已发
    2015-10-31 19:00:49
    赞同 展开评论 打赏
  • 很方便的功能。赞。

    -------------------------

    回 3楼(yjseu) 的帖子
    oss现在越来越方便给力。我ace应用使用的就是oss。希望官方出一些官方的插件 例如针对 discuz phpwind dedecms wordperss等主流建站程序的插件便于oss的推广。
    十分期待discuz的oss官方插件。
    2015-10-31 18:58:02
    赞同 展开评论 打赏
  • 支持
    2015-10-31 18:32:32
    赞同 展开评论 打赏
滑动查看更多
问答排行榜
最热
最新

相关电子书

更多
OSS运维进阶实战手册 立即下载
《OSS运维基础实战手册》 立即下载
OSS运维基础实战手册 立即下载