Windows下編譯使用AliyunOSSCSDK
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-sdklibRelease;%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-sdkinclude
..oss-c-sdkincludeapr
..oss-c-sdkincludeaprutil
..oss-c-sdkincludecurl
..oss-c-sdkincludemxml
..oss-c-sdkincludesdk
- 配置庫路徑。在路徑
oss-c-sdk-sample -> Property -> Configuration Properties -> Linker -> General -> Additional Library Directories
,新增..oss-c-sdklibRelease
- 配置庫。在路徑
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,請參看 幫助與文件 。
相關文章
- Windows下編譯使用AliyunOSSPHPSDKWindows編譯PHP
- 如何在Windows下使用make編譯MakefileWindows編譯
- Windows下編譯OpenOCDWindows編譯
- Windows下編譯VLCWindows編譯
- 在Windows下編譯WebRTCWindows編譯Web
- windows 下c++編譯WindowsC++編譯
- 【FFmpeg】Windows下FFmpeg編譯Windows編譯
- Windows下編譯fast rcnnWindows編譯ASTCNN
- Windows下編譯TriangleWindows編譯
- Windows下編譯Caffe並編譯Matlab介面Windows編譯Matlab
- windows下編譯安裝thriftWindows編譯
- windows 下編譯c檔案Windows編譯
- Windows下CMake編譯安裝OpenCVWindows編譯OpenCV
- 【FFmpeg】Windows下64位ffmpeg編譯Windows編譯
- WPA Supplicant 在Windows下的編譯Windows編譯
- windows下編譯tflite-runtimeWindows編譯
- windows上使用clang編譯程式Windows編譯
- Windows下使用Graalvm將Javafx應用編譯成exeWindowsLVMJava編譯
- PyTorch在64位Windows下的編譯PyTorchWindows編譯
- Windows下安裝編譯 Open Cascade 7.8.0Windows編譯
- windows下基於cmake配置opencv並使用visual studio編譯WindowsOpenCV編譯
- 11g下編譯使用BBED編譯
- windows下使用mingw和msvc靜態編譯Qt5.15.xxWindows編譯QT
- windows下使用Eclipse編譯執行MapReduce程式 Hadoop2.6.0/UbuntuWindowsEclipse編譯HadoopUbuntu
- windows下用mingw編譯linux專案Windows編譯Linux
- 在Windows下編譯Caffe與其Python介面Windows編譯Python
- windows vs 編譯postgresqlWindows編譯SQL
- windows 下使用 mingw編譯器 除錯時 無法跟進原始碼Windows編譯除錯原始碼
- ubuntu下編譯交叉編譯工具鏈Ubuntu編譯
- windows下如何使用QT編寫dll程式WindowsQT
- Caffe Windows版本的編譯Windows編譯
- 【C#】C#中使用GDAL3(三):Windows下編譯外掛驅動C#Windows編譯
- FREEBSD下使用crunch整合編譯程式(轉)編譯
- 在命令列下使用vs的編譯器命令列編譯
- FreeBSD 下使用crunch整合編譯程式(轉)編譯
- Windows平臺使用CMake+MinGW64編譯OpenCVWindows編譯OpenCV
- windows下git commit使用gvim編輯器WindowsGitMIT
- Mqtt開發筆記:windows下C++ ActiveMQ客戶端介紹、編譯和使用MQQT筆記WindowsC++客戶端編譯