如何将 aws-sdk-cpp 与 CMake 链接起来

How to link aws-sdk-cpp with CMake?

本文关键字:CMake 链接 起来 aws-sdk-cpp      更新时间:2023-10-16

我发现亚马逊在C++中有一个SDK(github链接),但我无法通过CMake链接它...

我已经完成了自述文件中的步骤:

mkdir BUILD_DIR
cd BUILD_DIR
cmake -DCMAKE_BUILD_TYPE=Release ..
make
sudo make install

但是通过CMake链接它的方法是什么?

我试过find_package(aws-cpp-sdk),但没有找到。请帮忙吗?:)


好的,最后我找到了一种方法:

set(AWS_CPP_SDK_INCLUDE_DIRS /path/to/include/aws CACHE STRING "aws-cpp-sdk include directories")
set(AWS_CPP_SDK_CORE_LIB "-l:/path/to/libaws-cpp-sdk-core.so" CACHE STRING "aws-cpp-sdk link core lib")
set(AWS_CPP_SDK_S3_LIB "-l:/path/to/libaws-cpp-sdk-s3.so" CACHE STRING "aws-cpp-sdk link S3 lib")

然后使用变量进行链接

谢谢@Tsyvarev的帮助,它给了我这个想法

但问题是它说它在执行时找不到 aws-cpp-sdk-core.so:

error while loading shared libraries: libaws-cpp-sdk-core.so: cannot open shared object file: No such file or directory

好的,最后我找到了一种方法:

set(AWS_CPP_SDK_INCLUDE_DIRS /path/to/include/aws CACHE STRING "aws-cpp-sdk include directories")
set(AWS_CPP_SDK_CORE_LIB "-l:/path/to/libaws-cpp-sdk-core.so" CACHE STRING "aws-cpp-sdk link core lib")
set(AWS_CPP_SDK_S3_LIB "-l:/path/to/libaws-cpp-sdk-s3.so" CACHE STRING "aws-cpp-sdk link S3 lib")

然后使用变量进行链接

谢谢@Tsyvarev的帮助,它给了我这个想法


最后,库应该被移动/复制到/usr/local/lib 而不是/usr/local/lib/linux/intel64/Release/

已解决:)