需要包含如下文件
#pragma warning(push)
#pragma warning(disable : 4192)
#pragma warning(disable : 4146)
#import "C:\Program Files\ArcGIS\com\esrisystem.olb" \
raw_interfaces_only, \
raw_native_types, \
no_namespace, \
named_guids, \
exclude ("OLE_COLOR", "OLE_HANDLE", "VARTYPE")
#pragma warning(pop)exclude ("OLE_COLOR", "OLE_HANDLE", "VARTYPE")参数是必要的。因为windows定义这些变量为unsigned long数据类型,这与ArcGIS中的定义冲突。
加入以上语句编译后,在程序目录下会找到"*.tlh"(type library header)和"*.tli"(type library implentation)两个文件,相当于c++中的 .h和.cpp文件。
在编译的过程中如果出现问题,可以用arcgis中带的工具"LibraryLocator"定位查找组件库。
本文介绍如何通过使用预编译指令和#import命令来解决Windows与ArcGIS中数据类型冲突的问题,并说明了如何生成及使用*.tlh和*.tli文件。
2074

被折叠的 条评论
为什么被折叠?



