不能包括D2D1

时间:2013-09-03 20:55:19

标签: mingw codeblocks direct2d

我觉得这应该有用......

#include <d2d1.h>
int main ()
{
    return 0;
};

......但它提出了一堆......

C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include\dxgi.h|286|error: '__in' has not been declared|
C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include\dxgi.h|286|error: expected ',' or '...' before '&' token|
C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include\dxgi.h|293|error: '__in' has not been declared|
C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include\dxgi.h|293|error: expected ',' or '...' before '&' token|
C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include\dxgi.h|299|error: '__in' has not been declared|
C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include\dxgi.h|299|error: expected ',' or '...' before '&' token|
C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include\dxgi.h|307|error: '__in' has not been declared|
C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include\dxgi.h|307|error: expected ',' or '...' before '&' token|

......等等。

我在Code :: Blocks上使用MinGW编译Windows的C ++。现在我唯一的编译器选项是-mingw32。如果您知道这个结果可能意味着什么以及我如何在C :: B选项中修复它或者我需要更改某些内容,那将非常有帮助。

- 更新 -

我空白定义了我认为麻烦的Visual Studio宏。

#define __in
#define __out
#define __in_opt
#define __inout
#define __in_bcount(x)
#define __in_ecount(x)
#define __out_ecount(x)
#define __out_bcount(x)
#define __out_ecount_part_opt(x,y)
#define __out_bcount_opt(x)
#define __in_bcount_opt(x)
#define __in_ecount_opt(x)
#define __out_ecount_opt(x)
#define __out_opt
#define __inout_opt
#include <d2d1.h>
int main ()
{
    return 0;
};

然而,现在在d2d1.h我仍然遇到这个问题:

C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include\d2d1.h|1246|error: expected initializer before ':' token|
C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include\d2d1.h|1269|error: expected initializer before ':' token|
C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include\d2d1.h|1333|error: expected initializer before ':' token|
C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include\d2d1.h|1374|error: expected initializer before ':' token|
||=== Build finished: 4 errors, 0 warnings (0 minutes, 2 seconds) ===|

由于它不是预处理器问题,我想要更少篡改,因为我必须改变实际的标头。关于如何解决这个问题的任何想法?

0 个答案:

没有答案