AWS SDK静态链接:libcrypto.so.1.0.0:无法打开共享对象文件 我试图用静态链接构建C++的AWS SDK,这样我就可以用它作为AWSλ函数中的二进制。
我采取的步骤如下:AWS SDK静态链接:libcrypto.so.1.0.0:无法打开共享对象文件 我试图用静态链接构建C++的AWS SDK,这样我就可以用它作为AWSλ函数中的二进制。,c++,cmake,openssl,aws-sdk-cpp,C++,Cmake,Openssl,Aws Sdk Cpp,我采取的步骤如下: git克隆 mkdir生成和cd生成 克马克-DBUILD\u SHARED\u LIBS=OFF-DBUILD\u ONLY=“s3”-DENABLE\u TESTING=OFF-DFORCE\u SHARED\u CRT=OFF(它在aws-cpp-sdk-s3目录中创建了libaws-cpp-sdk-s3.a) 现在,我的源代码CMakeLists.txt如下所示 所以项目能够找到静态libcrypto。但当我在AWS lambda上部署它时,在加载共享库时会出现错误错
#include <aws/core/Aws.h>
#include <aws/s3/S3Client.h>
#include <aws/s3/model/Bucket.h>
#include<iostream>
int main(int argc, char** argv) {
Aws::SDKOptions options;
Aws::InitAPI(options);
{
// snippet-start:[s3.cpp.list_buckets.code]
Aws::S3::S3Client s3_client;
auto outcome = s3_client.ListBuckets();
if (outcome.IsSuccess())
{
std::cout << "Your Amazon S3 buckets:" << std::endl;
Aws::Vector<Aws::S3::Model::Bucket> bucket_list =
outcome.GetResult().GetBuckets();
for (auto const &bucket : bucket_list)
{
std::cout << " * " << bucket.GetName() << std::endl;
}
}
else
{
std::cout << "ListBuckets error: "
<< outcome.GetError().GetExceptionName() << " - "
<< outcome.GetError().GetMessage() << std::endl;
}
// snippet-end:[s3.cpp.list_buckets.code]
}
Aws::ShutdownAPI(options);
#包括
#包括
#包括
#包括
int main(int argc,字符**argv){
Aws::SDK选项;
Aws::InitAPI(选项);
{
//代码段开始:[s3.cpp.list\u bucket.code]
Aws::S3::S3客户端S3_客户端;
自动结果=s3_client.listbackes();
if(output.issucess())
{
标准::cout
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libcrypto.a (found version "1.0.2g")
#include <aws/core/Aws.h>
#include <aws/s3/S3Client.h>
#include <aws/s3/model/Bucket.h>
#include<iostream>
int main(int argc, char** argv) {
Aws::SDKOptions options;
Aws::InitAPI(options);
{
// snippet-start:[s3.cpp.list_buckets.code]
Aws::S3::S3Client s3_client;
auto outcome = s3_client.ListBuckets();
if (outcome.IsSuccess())
{
std::cout << "Your Amazon S3 buckets:" << std::endl;
Aws::Vector<Aws::S3::Model::Bucket> bucket_list =
outcome.GetResult().GetBuckets();
for (auto const &bucket : bucket_list)
{
std::cout << " * " << bucket.GetName() << std::endl;
}
}
else
{
std::cout << "ListBuckets error: "
<< outcome.GetError().GetExceptionName() << " - "
<< outcome.GetError().GetMessage() << std::endl;
}
// snippet-end:[s3.cpp.list_buckets.code]
}
Aws::ShutdownAPI(options);