本文介绍如何安装Media-C SDK。

版本依赖

  • Linux

    OSS C SDK = 3.x.x

  • Windows

    不支持

Linux环境安装

  • 安装OSS C SDK,安装步骤请参见安装C SDK
  • 单击SDK包下载SDK包或者下载源代码,包括src、sample、test三个目录和CMakeList.txt文件。
  • 安装到系统目录
    • 如果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.”,原因是相应的库无法从默认路径中找到,需要用户指定。更多信息,请参见安装到自定义目录