我使用Nuget下载一些有关AWS dynamoDb和AWS Core的软件包。 但我试图对我的dynamoDB做一些事情,头文件会导致可怕的错误:
#include <afxwin.h>
#include<iostream>
#include<aws\core\Aws.h>
#include<aws\dynamodb\DynamoDBClient.h>
#include<aws\dynamodb\DynamoDBRequest.h>
#include<aws\dynamodb\model\AttributeValue.h>
#include<aws\dynamodb\DynamoDB_EXPORTS.h>
#include<aws\dynamodb\DynamoDBEndpoint.h>
#include<aws\dynamodb\DynamoDBErrorMarshaller.h>
#include<aws\dynamodb\DynamoDBErrors.h>
#include<aws\core\auth\AWSCredentialsProvider.h>
#include<aws\core\platform\Environment.h>
#include<aws\core\platform\FileSystem.h>
using namespace std;
class CMyFrame : public CFrameWnd {
public:
CMyFrame() {
Create(NULL, _T("MFC Application Tutorial"));
}
};
class CExample : public CWinApp {
BOOL InitInstance() {
Aws::SDKOptions options;
Aws::InitAPI(options);
CMyFrame *Frame = new CMyFrame();
m_pMainWnd = Frame;
Frame->ShowWindow(SW_NORMAL);
Frame->UpdateWindow();
Aws::ShutdownAPI(options);
return TRUE;
}
};
CExample theApp;
上面的代码正常工作,但是当我添加#include<aws\dynamodb\model\PutItemRequest.h>
而不更改任何其他代码时,构建它并显示:
expected an identifier, syntax error:',' ',':unexpected token,expected either '}' or a ','.
为什么会这样?我只包括一个头文件。头文件由amazon sdk提供,它不能有synatx错误。
答案 0 :(得分:0)
#ifdef WIN32 // PutItemRequest.h collides with Microsoft macros
#ifdef IN
#undef IN
#endif
#endif
#include <aws/dynamodb/model/PutItemRequest.h>