ReyNold
路人甲
路人甲
  • 注册日期2005-05-22
  • 发帖数8
  • QQ
  • 铜币140枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1644回复:4

AE92+VC开发时遇到'enum' type redefinition问题!

楼主#
更多 发布于:2007-11-21 19:53
<P><FONT color=#f70968>今天使用ArcEngine9.2和VC写一个程序。在stdafx.h文件中加入如下代码:</FONT></P>
<P>//AO Include<BR>#pragma warning(push)<BR>#pragma warning(disable : 4192) /* Ignore warnings for types that are duplicated in win32 header files */<BR>#pragma warning(disable : 4146) /* Ignore warnings for use of minus on unsigned types */</P>
<P>#import "esriSystem.olb" raw_interfaces_only, raw_native_types, no_namespace, named_guids, exclude("OLE_COLOR", "OLE_HANDLE", "VARTYPE")<BR>#import "esriSystemUI.olb" raw_interfaces_only, raw_native_types, no_namespace, named_guids<BR>#import "esriGeometry.olb" raw_interfaces_only, raw_native_types, no_namespace, named_guids<BR>#import "esriDisplay.olb" raw_interfaces_only, raw_native_types, no_namespace, named_guids<BR>#import "esriOutput.olb" raw_interfaces_only, raw_native_types, no_namespace, named_guids<BR>#import "esriGeoDatabase.olb" raw_interfaces_only, raw_native_types, no_namespace, named_guids<BR>#import "esriCarto.olb" raw_interfaces_only, raw_native_types, no_namespace, named_guids</P>
<P>// Some of the Engine controls<BR>#import "TOCControl.ocx" raw_interfaces_only, raw_native_types, no_namespace, named_guids<BR>#import "ToolbarControl.ocx" raw_interfaces_only, raw_native_types, no_namespace, named_guids<BR>#import "MapControl.ocx" raw_interfaces_only, raw_native_types, no_namespace, named_guids<BR>#import "PageLayoutControl.ocx" raw_interfaces_only, raw_native_types, no_namespace, named_guids</P>
<P>// additionally for 3D controls<BR>#import "esri3DAnalyst.olb" raw_interfaces_only, raw_native_types, no_namespace, named_guids<BR>#import "esriGlobeCore.olb" raw_interfaces_only, raw_native_types, no_namespace, named_guids<BR>#import "SceneControl.ocx" raw_interfaces_only, raw_native_types, no_namespace, named_guids<BR>#import "GlobeControl.ocx" raw_interfaces_only, raw_native_types, no_namespace, named_guids</P>
<P>#pragma warning(pop)</P>
<P><FONT color=#f70938>编译后出现了'esriControlsMousePointer' : 'enum' type redefinition等类似的五个错误。</FONT></P>
<P><FONT color=#f70938>本人百思不得其解,希望得到大家帮助,谢谢!</FONT></P>
喜欢0 评分0
ReyNold
路人甲
路人甲
  • 注册日期2005-05-22
  • 发帖数8
  • QQ
  • 铜币140枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2007-11-21 20:16
<P>没人遇到过吗?我弄了半天了也不知道问题出在哪?也试了好多种方法,解决不了啊。哪位大虾帮帮忙啊!谢谢了。</P>
举报 回复(0) 喜欢(0)     评分
huwei1982gis
路人甲
路人甲
  • 注册日期2006-02-18
  • 发帖数28
  • QQ
  • 铜币234枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2007-11-22 14:33
<P>把这个去掉#import "TOCControl.ocx" raw_interfaces_only, raw_native_types, no_namespace, named_guids<BR>你引入控件的时候其实已经有了</P>
举报 回复(0) 喜欢(0)     评分
gzstyxb
路人甲
路人甲
  • 注册日期2004-09-22
  • 发帖数358
  • QQ
  • 铜币1045枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2007-11-22 14:36
<P><FONT size=4>这个错误,表示其中一个引入库中存在已经定义了的类型。</FONT></P>
<P><FONT size=4>第一步,你需要先确定是哪个库导致这个错误。</FONT></P>
<P><FONT size=4>第二步,在引入错误的库后面做一个声明,表示已经存在的类型来自外部。比如:exclude("OLE_HANDLE", "OLE_COLOR")。</FONT></P>
<P><FONT size=4></FONT> </P>
<P><FONT size=4>经过上面的处理,你的问题就解决了。</FONT></P>
由爱故生忧, 由爱故生怖. 若离于爱者, 无忧亦无怖.
举报 回复(0) 喜欢(0)     评分
ReyNold
路人甲
路人甲
  • 注册日期2005-05-22
  • 发帖数8
  • QQ
  • 铜币140枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2007-11-22 17:14
<P>首先感谢3楼和4楼的两位同仁给予指导。个人感觉<FONT face=Verdana color=#61b713><STRONG>gzstyxb</STRONG><FONT color=#000000>兄(4楼)的解答靠谱点。因为我只在CFromView中加入了license控件和mapcontrol控件。而且要引入<FONT face=宋体>PageLayoutControl好像必须引入TOCControl吧?我把TOCControl去掉就会出错。另外引起错误的是ToolbarControl,但是我必须要用到,没办法去掉。</FONT></FONT></FONT></P>
<P>小弟我这就去试试<FONT face=Verdana><FONT color=#61b713><STRONG>gzstyxb</STRONG></FONT><FONT color=#000000>兄的做法。谢谢了!</FONT></FONT></P><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" />
举报 回复(0) 喜欢(0)     评分
游客

返回顶部