Я пытаюсь понять рабочий процесс для включения aws-sdk-c ++ в небольшом примере приложения командной строки в Xcode 8.3.3 (8E3004b) на macOS 10.12.6 (16G29). Я следовал инструкциям Вот, и я могу сделать, сделать, и сделать установку нормально. Но, когда я пытаюсь построить приложение командной строки в 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 SDK, Xcode (очевидно) не может его найти и выдает ошибку с одной ошибкой.
Я добавляю библиотеки .a на этапе сборки Link Binary With Libraries, поэтому я подумал, что если я включу заголовки, я смогу их использовать. Я явно не думаю о чем-то прямо здесь, поэтому любая помощь будет оценена.
Файл 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);
}
Я понял. Я должен был удалить рекурсивный параметр из /usr/local/include
в пользовательских путях поиска заголовка.
Теперь он компилируется нормально.
Других решений пока нет …