本文介绍如何安装Media-C 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也安装到系统目录下,执行下列命令编译安装。
- 安装到自定义目录(依赖包安装到系统目录)
- 如果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及其依赖都是安装到系统目录下(/usr/local/或/usr/),但希望将OSS Media-C SDK安装到自定义目录,例如/home/user/aliyun/oss/install/,执行下列命令编译安装。
- 安装到自定义目录(依赖包安装在自定义目录)
- 如果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等。
- 如果OSS C SDK或某些依赖包安装到了自定义目录,此时编译OSS Media-C SDK时默认是找不到这些包的头文件和库文件,所以需要在执行cmake时指定路径,例如已经将OSS C SDK安装到了/home/user/aliyun/oss/install/目录,则执行下列命令编译安装。
- 仅编译安装客户端SDK
- 默认是同时编译安装客户端和服务端的SDK的,如果仅需要编译安装客户端的SDK,则执行下列命令编译安装。
cmake . -DONLY_BUILD_CLIENT=ON make make install
- 如果仅需要编译安装服务端,将ONLY_BUILD_CLIENT修改为ONLY_BUILD_SERVER即可。
- 只有同时编译客户端和服务端时才会编译测试用例。
- 默认是同时编译安装客户端和服务端的SDK的,如果仅需要编译安装客户端的SDK,则执行下列命令编译安装。
- 其他编译安装方式和问题
- 编译模式:目前支持四种分别是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.”,原因是相应的库无法从默认路径中找到,需要用户指定。更多信息,请参见安装到自定义目录。
- 编译模式:目前支持四种分别是Debug,Release,MinSizeRef,RelWithDebInfo,指定使用某种编译类型,使用参数-DCMAKE_BUILD_TYPE,例如使用Debug模式编译,则在cmake后增加参数-DCMAKE_BUILD_TYPE=Debug:cmake . -DCMAKE_BUILD_TYPE=Debug,默认是Release模式。