SDK安裝
版本依賴
Linux
- OSS C SDK = 3.x.x
Windows
- 不支援
Linux環境安裝
安裝到系統目錄
如果OSS C SDK和其依賴都是安裝在系統目錄下(/usr/local/或/usr/),且希望OSS MEDIA C SDK也安裝到系統目錄下,執行下列命令編譯安裝:
cmake .
make
make install
上面命令執行成功後,OSS MEDIA C SDK會自動安裝到/usr/local/下面
安裝到自訂目錄(依賴包安裝到系統目錄)
如果OSS C SDK和其依賴都是安裝到系統目錄下(/usr/local/或/usr/),但希望OSS MEDIA C SDK安裝到自訂目錄,比如/home/user/aliyun/oss/install/,執行下列命令編譯安裝:
cmake . -DCMAKE_INSTALL_PREFIX=/home/user/aliyun/oss/install/usr/local/
make
make install
上面命令執行成功後,OSS MEDIA C SDK會自動安裝到/home/user/aliyun/oss/install/usr/local/下面
安裝到自訂目錄(依賴包安裝在自訂目錄)
如果OSS C SDK或某些依賴包安裝到了自訂目錄,此時編譯OSS MEDIA C SDK時預設是找不到這些包的標頭檔和庫檔案,所以需要在執行cmake時指定路徑,比如已經將OSS C SDK安裝到了/home/user/aliyun/oss/install/目錄,則執行下列命令編譯安裝:
cmake . -DCMAKE_INSTALL_PREFIX=/home/user/aliyun/oss/install/usr/local/ -DOSS_C_SDK_INCLUDE_DIR=/home/user/aliyun/oss/install/usr/local/include/ -DOSS_C_SDK_LIBRARY=/home/user/aliyun/oss/install/usr/local/lib/liboss_c_sdk.so
make
make install
上面命令執行成功後,OSS MEDIA C SDK會自動安裝到/home/user/aliyun/oss/install/usr/local/下面
- 其他依賴包相關參數名稱:APR_UTIL_LIBRARY,APR_LIBRARY,CURL_LIBRARY,APR_INCLUDEDIRS,APU_INCLUDEDIRS,OSS_C_SDK_INCLUDE_DIR,CURL_INCLUDEDIRS等
僅編譯安裝用戶端SDK
預設是同時編譯安裝用戶端和服務端的sdk的,如果僅需要編譯安裝用戶端的SDK,則執行下列命令編譯安裝
cmake . -DONLY_BUILD_CLIENT=ON
make
make install
如果僅需要編譯安裝服務端,將ONLY_BUILD_CLIENT修改為ONLY_BUILD_SERVER即可。
- 只有同時編譯用戶端和服務端時才會編譯測試案例
其他編譯安裝方式和問題
編譯模式:目前支援四種,分別是Debug,Release,MinSizeRef,RelWithDebInfo,指定使用某種編譯類型,使用參數-DCMAKE_BUILD_TYPE,比如使用Debug模式編譯,則在cmake是增加參數-DCMAKE_BUILD_TYPE=Debug:cmake . -DCMAKE_BUILD_TYPE=Debug,預設是Release模式。
- Debug:沒有做任何代碼優化,支援gdb,一般用來偵錯工具
- Release:使用了更進階別的優化,一般適用於生產環境
- MinSizeRef:生成最小大小的庫檔案,一般用於嵌入式環境
- RelWithDebInfo:使用了更進階的優化,但附帶了調試資訊,一般也用於生產環境
執行cmake時出現”Targets may link only to libraries. CMake is dropping the item”的warnning,原因是指定的library路徑不對,library路徑應該指定到*.so,比如/path/to/xxx.so。
- 如果需要使用OSS C SDK的靜態庫,則在執行cmake時指定-DOSS_C_SDK_LIBRARY=/home/user/aliyun/oss/install/usr/local/lib/liboss_c_sdk_static.a即可。其他庫類似。
- 執行cmake時出現”CMake Error: The following variables are used in this project, but they are set to NOTFOUND.”,原因是相應的庫無法從預設路徑中找到,需要使用者指定,參考
<安裝到自訂目錄>