阿里雲團隊努力不懈,力求將最新的技術內容更快地以您最熟悉的語言呈現。本文由簡體中文內容自動轉碼而成,過程無人工干預。阿里雲不保證此自動轉碼的準確性、完整性及時效性。因轉碼造成的任何內容錯誤及因此可能帶來的損失,阿里雲概不負責,敬請見諒。本文内容請以簡體中文版本為準。
全部產品
Search
文件中心

安裝

更新時間: Oct 19, 2018

要求

  • 開通阿里雲OSS服務,並建立了AccessKeyId 和AccessKeySecret。
  • 如果您還沒有開通或者還不瞭解阿里雲OSS服務,請登入OSS產品首頁瞭解。
  • 如果還沒有建立AccessKeyId和AccessKeySecret,請到阿里雲Access Key管理創建Access Key。

Linux

環境依賴

OSS C SDK使用curl進行網路操作,無論是作為用戶端還是伺服器端,都需要依賴curl。另外,OSS C SDK使用apr、apr-util庫解決記憶體管理以及跨平台問題,使用minixml庫解析請求返回的xml,OSS C SDK(Linux)並沒有帶上這幾個外部庫,您需要確認這些庫已經安裝,並且將它們的標頭檔目錄和庫檔案目錄都加入到了項目中。

安裝第三方庫

Ubuntu/Debian

  • 安裝CMake

    執行以下命令安裝CMake。

    1. sudo apt-get install cmake
  • 安裝第三方庫

    執行以下命令安裝第三方庫。

    1. sudo apt-get install libcurl4-openssl-dev libapr1-dev libaprutil1-dev libmxml-dev

RedHat/Aliyun/CentOS

  • 安裝CMake

    執行以下命令安裝CMake。

    1. sudo yum install cmake
  • 安裝第三方庫

    執行以下命令安裝第三方庫。

    1. sudo yum install curl-devel apr-devel apr-util-devel
  • minixml

    請下載系統對應的rpm包:

    執行以下命令安裝minixml:

    1. rpm -ivh mxml-2.9-1.x86_64.rpm

SuSE

  • 安裝CMake

    執行以下命令安裝CMake。

    1. zypper install cmake
  • 安裝第三方庫

    執行以下命令安裝第三方庫。

    1. zypper install libcurl-devel libapr1-devel libapr-util1-devel mxml-devel

其它Linux

  • CMake (建議2.6.0及以上版本)

    請從這裡下載,典型的安裝方式如下:

  1. ./configure
  2. make
  3. make install

注意: 執行./configure時預設是配置安裝目錄為/usr/local/,如果需要指定安裝目錄,請使用./configure —prefix=/your/install/path/

  • libcurl (建議 7.32.0 及以上版本)

    請從這裡下載,並參考libcurl 安裝指南安裝。典型的安裝方式如下:

  1. ./configure
  2. make
  3. make install

注意:

  • 執行./configure時預設是配置安裝目錄為/usr/local/,如果需要指定安裝目錄,請使用./configure —prefix=/your/install/path/
  • 如果要使用MEDIA-C-SDK,請確保./configure執行完後,最後一行的Protocols裡麵包含HTTPS,如果沒有,請先安裝openssl-devel等ssl開發包,然後重新安裝libcurl。
  • apr (建議 1.5.2 及以上版本)

    請從這裡下載,典型的安裝方式如下:

  1. ./configure
  2. make
  3. make install

注意: 執行./configure時預設是配置安裝目錄為/usr/local/,如果需要指定安裝目錄,請使用./configure —prefix=/your/install/path/

  • apr-util (建議 1.5.4 及以上版本)

    請從這裡下載,安裝時需要注意指定—with-apr選項,典型的安裝方式如下:

    1. ./configure --with-apr=/your/apr/install/path
    2. make
    3. make install

    注意:

    • 執行./configure時預設是配置安裝目錄為/usr/local/,如果需要指定安裝目錄,請使用 ./configure —prefix=/your/install/path/
    • 需要通過—with-apr指定apr安裝目錄,如果apr安裝到系統目錄下需要指定—with-apr=/usr/local/apr/
  • minixml (推薦使用 2.9 版本)

    請從這裡下載,典型的安裝方式如下:

  1. ./configure
  2. make
  3. sudo make install

注意:

  • minixml推薦使用 2.9 版本;
  • 執行./configure時預設是配置安裝目錄為/usr/local/,如果需要指定安裝目錄,請使用 ./configure —prefix=/your/install/path/

編譯安裝OSS C SDK

典型的編譯命令如下:

  1. cmake .
  2. make
  3. make install

注意:

  • 執行cmake . 時預設會到/usr/local/下面去尋找curl,apr,apr-util,mxml的標頭檔和庫檔案。
  • 預設編譯是Debug類型,可以指定以下幾種編譯類型:Debug、Release、RelWithDebInfo和MinSizeRel,如果要使用release類型編譯,則執行cmake -f CMakeLists.txt -DCMAKE_BUILD_TYPE=Release。
  • 如果您在安裝curl,apr,apr-util,mxml時指定了安裝目錄,則需要在執行cmake時指定這些庫的路徑,
    • 比如:cmake -f CMakeLists.txt -DCURL_INCLUDE_DIR=/usr/local/include/curl/ -DCURL_LIBRARY=/usr/local/lib/libcurl.so -DAPR_INCLUDE_DIR=/usr/local/include/apr-1/ -DAPR_LIBRARY=/usr/local/lib/libapr-1.so -DAPR_UTIL_INCLUDE_DIR=/usr/local/apr/include/apr-1 -DAPR_UTIL_LIBRARY=/usr/local/apr/lib/libaprutil-1.so -DMINIXML_INCLUDE_DIR=/usr/local/include -DMINIXML_LIBRARY=/usr/local/lib/libmxml.so
  • 如果要指定安裝目錄,則需要在cmake時增加: -DCMAKE_INSTALL_PREFIX=/your/install/path/usr/local/
  • 如果執行cmake時報以下錯誤:Could not find apr-config/apr-1-config,原因是在預設路徑裡面找不到apr-1-config檔案,這時候可以在執行cmake命令時,在最後面加上-DAPR_CONFIG_BIN=/path/to/bin/apr-1-config。如果報:Could not find apu-config/apu-1-config,則需要加上-DAPU_CONFIG_BIN=/path/to/bin/apu-1-config。

Linux樣本工程

基於Aliyun OSS C SDK的樣本工程 aliyun-oss-c-sdk-demo.tar.gz 。其中,樣本oss-c-sdk-demo-specified-installation基於OSS C SDK及依賴的第三方庫,都安裝在/home/your/oss/csdk下;其它樣本工程是基於OSS C SDK及依賴的第三方庫,安裝在預設目錄下,即安裝時不指定目錄。

  • oss-c-sdk-demo-centos Aliyun/CentOS下,基於預設安裝路徑的OSS C SDK樣本工程
  • oss-c-sdk-demo-debian Debian下,基於預設安裝路徑的OSS C SDK樣本工程
  • oss-c-sdk-demo-redhat RedHat下,基於預設安裝路徑的OSS C SDK樣本工程
  • oss-c-sdk-demo-suse SuSE下,基於預設安裝路徑的OSS C SDK樣本工程
  • oss-c-sdk-demo-ubuntu Ubuntu下,基於預設安裝路徑的OSS C SDK樣本工程
  • oss-c-sdk-demo-specified-installation Linux下,基於自訂安裝目錄的OSS C SDK樣本工程

樣本工程的詳細說明,請參看 Linux下使用Aliyun OSS C SDK

解壓後進入工程目錄(oss-c-sdk-demo-xxx),執行make,編譯樣本工程;執行make clean清理編譯產生的檔案;執行./main運行可執行程式。

注意:

  • 範例程式碼中的OSS_ENDPOINT、ACCESS_KEY_ID、ACCESS_KEY_SECRET、BUCKET_NAME請更換成有效值。
  • 如果OSS C SDK及依賴庫的動態庫不在系統目錄下,執行時請使用LD_LIBRARY_PATH指定。

Windows

Windows環境下,OSS C SDK目前只支援 Win32 方式編譯,暫不支援 x64。使用 Win32 編譯的庫,可以在 Win32x64 工程中使用。

環境與依賴

  • OSS C SDK(Windows)依賴的第三方庫和Linux版本一致,分別是apr,apr-util,curl,mxml。
  • SDK提供了Visual Studio 2008和Visual Studio 2010的項目工程,分別支援Visual Studio 2008,Visual Studio 2010及其以後版本。
  • SDK提供了third_party,包含了需要用到的第三方庫(apr, apr-util, curl, mxml)的標頭檔和庫檔案,使用者可以使用這裡的標頭檔和庫檔案編譯,運行sample和test項目。

Visual Studio 2008版本

  • 對應的專案檔為oss_c_sdk_2008.sln等包含2008的檔案
  • OSS C SDK需要用到stdint.h標頭檔,Visual C++ 2008預設是沒有此標頭檔,如果使用者沒有提前安裝此標頭檔,可以將third_party/include中的stdint.h.bak重新命名為stdint.h後使用。
  • 從2.0.0版本才開始支援Visual Studio 2008,之前版本均不支援

Visual Studio 2010及其以後版本

  • 對應的專案檔為oss_c_sdk.sln等不包含數位檔案。
  • Visual Studio 2010及其以後版本都包含了stdint.h標頭檔。
  • 如果使用者使用Visual Studio 2012及其以後版本開啟時,會提示使用者是否將項目升級成使用最新版的編譯器和庫,這裡最好和使用者自己的項目保持一致:如果使用者的項目使用了最新版本的編譯器和庫,就選擇升級,否則可以不升級。

Visual Studio樣本工程

樣本工程提供了基於Visual Studio 2008/2010/2012/2013/2015的工程,您可以用Visual Studio直接開啟對應工程, 修改Endpoint/AccessKeyID/AccessKeySecret/BucketName等配置後,既可編譯運行。您也可以在樣本工程基礎上開發您的項目。

注意:

  • 運行oss-c-sdk-sample前,請在Visual Studio做如下配置。在Sulution Explore中選擇工程oss-c-sdk-sample,右擊選擇Property,在oss-c-sdk-sample Property Pages中配置Configuration Properties -> Debugging -> EnvironmentPATH=..\oss-c-sdk\lib\Release\;%PATH%

使用Visual Studio編譯OSS C SDK、運行樣本程式的詳細步驟及常見問題,請參考 Windows下編譯使用Aliyun OSS C SDK

樣本工程

C SDK提供豐富的樣本程式,方便使用者參考或直接使用。您可以從GitHub獲取樣本程式。樣本程式包括以下內容:

樣本檔案 樣本內容
oss_put_object_sample 展示了檔案上傳的用法,包括從記憶體/檔案上傳、攜帶MD5校驗上傳、攜帶元資料上傳、url簽名上傳等
oss_get_object_sample.c 展示了檔案下載的用法,包括下載到記憶體、下載到檔案、範圍下載、URL簽名下載等
oss_append_object_sample.c 展示了追加上傳的用法,包括從記憶體追加上傳、從檔案追加上傳
oss_multipart_upload_sample.c 展示了分區上傳的用法,包括從記憶體分區上傳、從檔案分區上傳、取消上傳分區上傳等
oss_resumable_sample.c 展示了並發斷點續傳上傳/下載的用法
oss_head_object_sample.c 展示了獲取檔案元資訊的用法
oss_list_object_sample.c 展示了列舉檔案的用法
oss_delete_object_sample.c 展示了刪除檔案的用法,包括刪除單個檔案、刪除多個檔案
oss_callback_sample.c 展示了上傳回調的用法,包括上傳回調、分區上傳回調
oss_progress_sample.c 展示了進度條的用法,包括上傳、追加上傳、分區上傳、下載等
oss_crc_sample.c 展示了上傳、下載使用CRC校驗的用法
oss_image_sample.c 展示了圖片處理的用法