Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AWS SDK静态链接:libcrypto.so.1.0.0:无法打开共享对象文件 我试图用静态链接构建C++的AWS SDK,这样我就可以用它作为AWSλ函数中的二进制。_C++_Cmake_Openssl_Aws Sdk Cpp - Fatal编程技术网

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上部署它时,在加载共享库时会出现错误错

我采取的步骤如下:

  • 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上部署它时,在加载共享库时会出现错误错误:libcrypto.so.1.0.0:无法打开共享对象文件:没有这样的文件或目录\n

    有人能告诉我如何调试这个或者我是否遗漏了什么吗?我试图搜索它,但找不到任何对静态链接有用的东西

    这是我的执行代码。cpp

    #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);