Linux下编译aws-sdk-cpp报错:未知CMake命令aws_use_package
aws-sdk-cpp 构建提示
Unknown CMake command "aws_use_package"解决方案 该报错的根本原因是当前使用的aws-sdk-cpp源码缺失AWS官方CMake工具链依赖,
aws_use_package是aws-c-common等底层子模块提供的CMake公共命令,源码未同步拉取对应子模块时就会触发该错误,无需手动修改官方CMakeLists.txt文件,可按以下步骤排查解决:
- 第一步:补全源码子模块
两种方式获取完整源码:- 直接通过git拉取源码,拉取时必须加
--recursive参数同步所有依赖子库,指定版本为1.9.89即可 - 已下载过源码的,进入源码根目录执行命令同步子模块:
注意:AWS官网直接提供的release zip包默认不带子模块依赖,不推荐使用该方式获取源码git submodule update --init --recursive - 直接通过git拉取源码,拉取时必须加
- 第二步:安装系统前置依赖
根据当前系统执行对应的安装命令:- CentOS/RHEL系列:
yum install gcc-c++ libcurl-devel openssl-devel libuuid-devel zlib-devel -y- Debian/Ubuntu系列:
apt install g++ libcurl4-openssl-dev libssl-dev uuid-dev zlib1g-dev -y - 第三步:重新执行CMake配置
先清空之前的构建目录所有缓存文件,再执行配置命令,可按需添加编译参数减少编译耗时:
如果需要编译全量SDK,去掉# 示例:仅编译S3服务模块,指定安装路径为/usr/local cmake ../aws-sdk-cpp-1.9.89 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_ONLY="s3"-DBUILD_ONLY参数即可,全量编译耗时较长 - 第四步:编译安装
配置通过后执行编译安装命令,-j后参数根据CPU核心数调整:make -j$(nproc) make install
内容的提问来源于stack exchange,提问作者Mrprimus
相关产品推荐
相关产品推荐

