Я пытаюсь установить AWS C ++ SDK в моей среде Cloud9 (m4.large).Я следовал инструкциям этого учебника.
Мои шаги:
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
команда throws 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
.