在 Cloud9 上安装 AWS C++ 开发工具包时出现问题
Problems installing AWS C++ SDK on Cloud9
我正在尝试在我的 Cloud9 环境 (m4.large( 上安装 AWS C++ 开发工具包。我按照本教程中的步骤操作。
我的步骤:
sudo yum -y install libcurl-devel openssl-devel libuuid-devel cmake3
wget https://github.com/aws/aws-sdk-cpp/archive/master.zip
unzip master.zip
rm master.zip
mkdir sdk_build && cd sdk_build
cmake3 ../aws-sdk-cpp-master -DBUILD_ONLY="dynamodb" //I changed s3 to dynamodb
make && cd ..
在文件dynamodb-demo.cpp
中:
#include <aws/core/Aws.h>
int main(){ return 0;}
在CMakeLists.txt
:
cmake_minimum_required(VERSION 2.8)
project(dynamodb-demo)
find_package(aws-sdk-cpp)
add_definitions(-DUSE_IMPORT_EXPORT)
add_executable(dynamodb-demo dynamodb-demo.cpp)
target_link_libraries(dynamodb-demo aws-cpp-sdk-dynamodb)
问题似乎出在这里,此命令不会引发任何错误,但会发出警告:
cmake3 -Daws-sdk-cpp_DIR=sdk_build .
输出:
CMake Warning at /usr/share/cmake3/Modules/CMakeFindDependencyMacro.cmake:65 (find_package):
By not providing "Findaws-c-event-stream.cmake" in CMAKE_MODULE_PATH this
project has asked CMake to find a package configuration file provided by
"aws-c-event-stream", but CMake did not find one.
Could not find a package configuration file provided by
"aws-c-event-stream" with any of the following names:
aws-c-event-streamConfig.cmake
aws-c-event-stream-config.cmake
Add the installation prefix of "aws-c-event-stream" to CMAKE_PREFIX_PATH or
set "aws-c-event-stream_DIR" to a directory containing one of the above
files. If "aws-c-event-stream" provides a separate development package or
SDK, be sure it has been installed.
Call Stack (most recent call first):
sdk_build/aws-cpp-sdk-core/aws-cpp-sdk-core-config.cmake:2 (find_dependency)
sdk_build/aws-sdk-cpp-config.cmake:1 (include)
CMakeLists.txt:14 (find_package)
CMake Warning at CMakeLists.txt:14 (find_package):
Found package configuration file:
/home/ec2-user/environment/sdk_build/aws-sdk-cpp-config.cmake
but it set aws-sdk-cpp_FOUND to FALSE so package "aws-sdk-cpp" is
considered to be NOT FOUND. Reason given by package:
aws-sdk-cpp could not be found because dependency aws-c-event-stream could
not be found.
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ec2-user/environment
因此,make
命令抛出fatal error: aws/core/Aws.h: No such file or directory
,我理解这一点,所以我想错误应该在上面的命令中。
我还没有配置我的 AWS 凭证,但我认为这不会引发这些错误。问题似乎与cmake有关。
一些研究表明,aws-c-event-stream-config.cmake
应该位于它所在的/home/ec2-user/environment/sdk_build/.deps/install/lib64/aws-c-event-stream/cmake
。
也许解决方案非常简单,但我对cmake
只有基本的了解.
在Tsyvarev的帮助下,该项目配置:
cmake3 -DCMAKE_PREFIX_PATH=/home/ec2-user/environment/sdk_build/.deps/install/lib64/aws-checksums/cmake;/home/ec2-user/environment/sdk_build/.deps/install/lib64/aws-c-common/cmake;/home/ec2-user/environment/sdk_build/.deps/install/lib64/aws-c-event-stream/cmake;/home/ec2-user/environment/sdk_build .
我也需要改变的事情:
构建 AWS 核心(不确定是否必要(:
cmake3 ../aws-sdk-cpp-master -DBUILD_ONLY="core;dynamodb"
将此添加到您的CMakeLists.txt
:
target_link_libraries(dynamodb-demo aws-cpp-sdk-core)
并将标准设置为 11 C++:
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
相关文章:
- 在OSX上使用CMake将Adobe的XMP工具包构建为共享库的最简单方法是什么?
- AWS IoT 开发工具包:通过 TCP 端口 443 使用 MQTT
- 使用 AWS C++ 开发工具包分段上传 S3
- 如何使用软化工具包从 OPC UA 服务器异步读取操作回调中的数据值响应中获取 NodeId 详细信息
- 与 AWS 开发工具包的链接问题
- 使用代码在 AWS 开发工具包C++控制台应用程序上设置凭证
- 选择特定版本的 Visual Studio 命令行工具包,并根据特定版本的C++运行时环境编译文件
- 如何使用 AWS C++ 开发工具包在给定的开始和结束日期范围内列出 S3 中的文件
- 错误:必须设置CMake工具才能生成.在工具包选项中配置CMake工具
- 适用于 C++ 的 AWS 开发工具包:对 S3 传输进行完整性检查
- 在 Cloud9 上安装 AWS C++ 开发工具包时出现问题
- 如何为原生UI工具包扩展Ranorex?
- AWS Lambda C++ 开发工具包"Process exited before completing request"
- 无法在Windows 7 64位上安装CUDA工具包9.1.85
- 使用开发工具包将文件上传到 AWS C++
- AWS 开发工具包 C++ 代码不适用于发布版本
- 为什么使用适用于C++的 AWS 开发工具包创建 EC2Client 段错误
- AWS CPP S3 开发工具包是否支持"传输加速"
- AWS 开发工具包C++:某些 S3 集成测试失败
- 函数模板参数包问题