Visual Studio(VS)是win平台下,编译运行C/C++程序的首选。微软发布的VS主要版本如下表:
名称 | 内部版本 | 发布日期 | 支持.NET Framework版本 |
---|---|---|---|
Visual Studio 6.0 | 6.0 | 1998-06 | - |
Visual Studio .NET 2002 | 7.0 | 2002-02-13 | 1.0 |
Visual Studio .NET 2003 | 7.1 | 2003-04-24 | 1.1 |
Visual Studio 2005 | 8.0 | 2005-11-07 | 2.0 |
Visual Studio 2008 | 9.0 | 2007-11-19 | 2.0、3.0、3.5 |
Visual Studio 2010 | 10.0 | 2010-04-12 | 2.0、3.0、3.5、4.0 |
Visual Studio 2012 RTM | 11.0 | 2012-08-25 | 2.0、3.0、3.5、4.0、4.5 |
Visual Studio 2013 | 12.0 | 2013-10-17 | 2.0、3.0、3.5、4.0、4.5、4.5.1、4.5.2 |
Visual Studio 2015 | 14.0 | 2014-11-10 | 2.0、3.0、3.5、4.0、4.5、4.5.1、4.5.3、4.5.5、4.6 |
Visual Studio 2015 RTM | 14.0 | 2015-07-21 | 2.0、3.0、3.5、4.0、4.5、4.5.1、4.5.3、4.5.5、4.6、5.0、6.0 |
本文以 VS2008、VS2010、VS2012、VS2013、VS2015 为例说明编译OSS C SDK、运行示例程序的方法。
编译Aliyun OSS C SDK
VS2008
1. 打开工程
选择oss_c_sdk_2008.sln右键打开方式中选择Microsoft Visual Studio 2008打开。
如果右键打开方式中没有Microsoft Visual Studio 2008,先打开Visual Studio 2008,在VS2008中打开工程,方法是 File-> Open -> Project/Solution
选择oss_c_sdk_2008.sln打开。
2. 设置启动工程
把工程oss_c_sdk_test设置为启动工程,方法在在oss_c_sdk_test右键选择Set as StartUp Project
3. 编译
在Solution Explorer中选择oss_c_sdk_test,右键选择Rebuild。编译出的OSS C SDK库,在工程目录下的
4. 可能出现的问题
- 错误: error LNK2019: unresolved external symbol _oss_create_live_channel referenced in function _create_test_live_channel
原因: 新加的文件oss_live.c等没有加入工程
解法: oss_c_sdk右键选择Add -> Existing Item...
,选择oss_c_sdk目录下的所有.h、.c
文件,加入工程oss_c_sdk
- 错误: error LNK2019: unresolved external symbol __imp__inet_addr@4 referenced in function _is_valid_ip
原因: oss_c_sdk_test中缺少库ws2_32.lib
解法: oss_c_sdk_test右键选择Properties -> Configuration Properties -> Linker -> Input -> Additional Dependencies
中加入ws2_32.lib
- 错误: fatal error C1083: Cannot open include file: 'stdint.h': No such file or directory
原因: 缺少头文件stdint.h
解法: third_party/include里的stdint.h.bak修改成stdint.h
5. 库位置
编译出来的OSS C SDK库,在工程目录的Debug/Release里,即oss_c_sdk.lib。
VS2010
1. 打开工程
选择oss_c_sdk.sln右键打开方式中选择Microsoft Visual Studio 2010
打开。
2. 设置启动工程
把工程oss_c_sdk_test设置为启动工程,方法在在oss_c_sdk_test右键选择Set as StartUp Project
3. 编译
在Solution Explorer中选择oss_c_sdk_test,右键选择Rebuild。编译出的OSS C SDK库,在工程目录下的
4. 可能出现的问题
- 错误: error MSB8008: Specified platform toolset (v140) is not installed or invalid. Please make sure that a supported PlatformToolset value is selected.
原因: PlatformToolset值与当前VS版本不符
解法: 按照如下路径 Solution Explorer -> oss_c_sdk -> Properties -> Configuration Properties -> Platform Toolset
,修改V140
为V100
5. 库位置
编译出来的OSS C SDK库,在工程目录的Debug/Release里,即oss_c_sdk.lib。
VS2012
1. 打开工程
选择oss_c_sdk.sln右键打开方式中选择Microsoft Visual Studio 2012
打开。
2. 设置启动工程
把工程oss_c_sdk_test设置为启动工程,方法在在oss_c_sdk_test右键选择Set as StartUp Project
3. 编译
在Solution Explorer中选择oss_c_sdk_test,右键选择Rebuild。编译出的OSS C SDK库,在工程目录下的
4. 可能出现的问题
- 错误: error MSB8020: The builds tools for v140 (Platform Toolset = 'v140') cannot be found. To build using the v140 build tools, either click the Project menu or right-click the solution, and then select "Update VC++ Projects...". Install v140 to build using the v140 build tools.
原因: PlatformToolset值与当前VS版本不符
解法: 按照如下路径 Solution Explorer -> oss_c_sdk -> Properties -> Configuration Properties -> Platform Toolset,修改V140为Visual Studio 2012 (v110)
5. 库位置
编译出来的OSS C SDK库,在工程目录的Debug/Release里,即oss_c_sdk.lib。
VS2013/VS2015
VS2013/VS2015编译Aliyun OSS C SDK的方法完全相同,下面以VS2015为例说明。
1. 打开工程
选择oss_c_sdk.sln右键打开方式中选择Microsoft Visual Studio 2015
/打开。
2. 设置启动工程
把工程oss_c_sdk_test设置为启动工程,方法在在oss_c_sdk_test右键选择Set as StartUp Project
3. 编译
在Solution Explorer中选择oss_c_sdk_test,右键选择Rebuild。编译出的OSS C SDK库,在工程目录下的
4. 库位置
编译出来的OSS C SDK库,在工程目录的Debug/Release里,即oss_c_sdk.lib。
运行示例程序
下载
有一下两种方式下载OSS C SDK示例程序aliyun-oss-c-sdk-sample:
- OSS官网下载:OSS C SDK安装 ;
- GitHub下载:GitHub 。
运行
aliyun-oss-c-sdk-sample版本里,提供了VS2008、VS2010、VS2012、VS2013、VS2015的示例。
- 替换oss_c_sdk.lib。在oss-c-sdk-sampleoss-c-sdklibRelease是OSS C SDK包oss_c_sdk.lib。该包是上一个发布版本的release包,您可以继续使用,也可以用您编译出来的版本替换。
- 打开工程。根据您的Visual Studio版本,选择对应的工程。选择oss-c-sdk-sample.sln右键打开方式中选择对应VS打开工程。
- 修改参数。修改main.c 中的
OSS_ENDPOINT、ACCESS_KEY_ID、ACCESS_KEY_SECRET、BUCKET_NAME
为您的实际参数。 - 编译。在Solution Explorer中选择oss-c-sdk-sample,右键选择Rebuild。
- 配置Environment。按照如下路径配置
Solution Explorer -> oss-c-sdk-sample -> Property -> Configuration Properties -> Debugging -> Environment
修改为PATH=..\oss-c-sdk\lib\Release\;%PATH%
。 - 运行。用
Ctrl+F5
执行示例程序。
揭秘Sample工程
OSS C SDK Sample工程是怎么做出来的呢?VS2008、VS2010、VS2012、VS2013、VS2015的做法基本相同,下面以VS2012为例说明。
- 准备库和头文件。准备SDK库/头文件,第三方库/头文件。合并SDK库/头文件、第三方库/头文件,结果为oss-c-sdk-sampleoss-c-sdk目录。oss-c-sdk目录直接放在工程目录下。
- 配置头文件路径。在路径
Solution Explorer -> oss-c-sdk-sample -> Property -> Configuration Properties -> VC++ Directories -> Include Directories
,添加如下配置:
..\oss-c-sdk\include
..\oss-c-sdk\include\apr
..\oss-c-sdk\include\aprutil
..\oss-c-sdk\include\curl
..\oss-c-sdk\include\mxml
..\oss-c-sdk\include\sdk
- 配置库路径。在路径
oss-c-sdk-sample -> Property -> Configuration Properties -> Linker -> General -> Additional Library Directories
,添加..\oss-c-sdk\lib\Release
- 配置库。在路径
oss-c-sdk-sample -> Property -> Configuration Properties -> Linker -> Input -> Additional Dependencies
,添加如下配置:
libapr-1.lib
libaprutil-1.lib
curl.lib
mxml1.lib
oss_c_sdk.lib
ws2_32.lib
如果您想从一个空工程开始编写自己的程序,或者在已有的工程中使用OSS C SDK,请参考Sample工程的配置方法。
提示:
- 目前OSS C SDK支持WIN32(x86),暂不支持x64;VS2015编译、运行的时候请选择x86,勿选择x64。
- 您想更多了解OSS C SDK,请参看 帮助与文档 。