阿里云存储 oss 的 c++相关问题解决办法

这两天在捣鼓测试阿里云的对象存储,阿里云称为 阿里云对象存储OSS(Object Storage Service)。

首先,相关sdk是放在 github的。so,需要科学上网。很是不方便。

再者就是遇到了提供的教程默认编译出来的lib是64位的。我的项目均是32位下开发的。如果设置为win32的,vs编译时会有如下的提示:

错误 LNK1112 模块计算机类型“x86”与目标计算机类型“x64”冲突 cpp-sdk F:\迅雷下载\aliyun-oss-cpp-sdk-1.9.0\build\sdk\Debug\OssClient.obj 1

解决办法是修改项目的属性中的 文档管理程序的-》所有选项-》附加选项,/machine:x64 改为 /machine:x86

但好像各个vs版本的这个属性的位置有所不一样,注意区别对待。

还有如下问题:

阿里云oss也集成了相关的第三方库,libcurl,ssleasy等,这和我当前项目的不兼容。生成的exe程序会有如下提示:

然后我就用他提供的dll直接替换了我的原先的。简单看是没问题,可以正常执行(但真不确保就没问题呀,内心还是比较担心的)。所以还是需要仔细测试。

还有就是,好像他的第三方库的dll只有release版本的,没有debug的,这样的话,我的程序 在debug模式下就不能正常运行了,只能在release模式下开发了。。。这,也是个问题呀。。。不知道怎么整。。。

最开始是打算捣鼓腾讯云对象存储的,感觉腾讯的第三方库 也不好弄。poco。就放弃了。