【问题标题】:Build macOS C++ Command Line App With aws-sdk-c++使用 aws-sdk-c++ 构建 macOS C++ 命令行应用程序
【发布时间】:2017-09-01 00:31:02
【问题描述】:

我正在尝试了解在 macOS 10.12.6 (16G29) 上的 Xcode 8.3.3 (8E3004b) 中的一个小型示例命令行应用程序中包含 aws-sdk-c++ 的工作流程。我已经按照here 发布的说明进行操作,并且可以正常进行 cmake、make 和 make 安装。但是,当我尝试在 Xcode 中构建命令行应用程序时出现此错误:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/ctime:56:9: No member named 'clock_t' in the global namespace

Xcode 给了我大约 20 个,然后就放弃了。我将标题搜索路径设置为$(SRCROOT)/test/include,递归。看起来 Xcode 可以找到 AWS SDK 头文件,但不能找到标准系统头文件。如果我删除了 AWS 开发工具包的路径,Xcode(显然)找不到它并退出并出现一个错误。

我在 Link Binary With Libraries 构建阶段添加了 .a 库,所以我想如果我包含头文件,我就可以使用它们。我显然没有在这里考虑什么,所以任何帮助将不胜感激。

我正在尝试编译的 C++ 文件:

#include <iostream>
#include <aws/core/Aws.h>
#include <aws/s3/S3Client.h>
#include <aws/s3/model/Bucket.h>


int main(int argc, char** argv)
{
    Aws::SDKOptions options;
    Aws::InitAPI(options);
    {
        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;
        }
    }
    Aws::ShutdownAPI(options);
}

【问题讨论】:

  • 这可能与 macOS 的不区分大小写的文件系统有关,如以下问题:stackoverflow.com/questions/26179298/…
  • 在我告诉它 aws-sdk-cpp 标头在哪里之后,Xcode 也可能忘记在哪里寻找标准系统标头。不确定。我已经添加了“/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1”,但这可能还不够。

标签: c++ xcode aws-sdk-cpp


【解决方案1】:

我想通了。我不得不从自定义标头搜索路径中的/usr/local/include 中删除递归设置。

现在可以正常编译了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-28
    • 2020-02-20
    • 1970-01-01
    • 1970-01-01
    • 2014-01-02
    • 2011-06-15
    • 1970-01-01
    • 2011-11-04
    相关资源
    最近更新 更多