包含外部库时重新定义基本类型

时间:2014-04-01 14:21:13

标签: c++ .net visual-studio clr

我正在使用Visual Studio 2013在c ++中编写一些代码,以便从CLR类库的.NET应用程序中引用。我正在编写包装器的c ++组件是Accusoft ImageGear。我遇到的问题是,当我在ImageGear中包含头文件时,我得到以下编译错误:

  

错误C2371:'AT_HANDLE':重新定义;不同的基础   类型C:\ Program Files(x86)\ Windows   套件\ 8.1 \ Include \ shared \ windef.h 39 1 ImageGearWrapper

我也得到了在windef.h的第73,80,86,93行报告的相同错误。

我认为ImageGear必须定义一个名为AT_HANDLE的变量,该变量也在Windows 8.1 SDK中定义。

我该怎么做才能解决冲突?我已经阅读了Include Guards,但在这种情况下不确定如何应用它们。

我注意到如果我创建一个Win32控制台应用程序,它仍然会出现此错误,但如果我在项目向导中选择“包含MFC”,我就不再有问题了。

0 个答案:

没有答案