VC2013 ArcGIS Engine 10.0开发环境搭建
来源:互联网 发布:导出来的sql带双引号 编辑:程序博客网 时间:2024/04/20 06:21
VC2013 + ArcGISEngine10.0
——贵阳汉康
首先,当然是要安装好ArcObjects SDK forCross Platform C++;
安装好后,我们在VS2013里新建一个MFC的项目,比如命名为ggg,在MFC应用程序向导中,“应用程序类型”一项我们选择单文档,“生成的类”一项中,基类选择CFormView,点完成之后按照以下几个步骤:
环境配置搭建
在项目名上右击——》属性,如图1:
图1
在包含目录里添加AE的相关路径,如图2上部框里所示的三个路径。如果已经在配置文件里设置好后,那么三个路径会显示在下部红框中,此步就省略。
图2
然后在C/C++选项的预处理器中添加:ESRI_WINDOWS,如图3:
图3
这几步完了之后可以在stdfx.h中include ArcSDK.h 这个文件,编译的时候你会发现好多错错喔,不要怕怕,名称冲突而已。如图4:
图4
在AE的安装路径中找到相关的同名头文件重命名一下,我的路径是:C:\Program Files(x86)\ArcGIS\DeveloperKit10.0\include\CPPAPI\olb。比如第一个错误,原头文件是这样的:
#import "esrisystemui.olb"raw_interfaces_only raw_native_types no_namespace named_guids exclude("OLE_HANDLE","OLE_COLOR","UINT_PTR" )
错误中有两个冲突名ICommand和IProgressDialog,我们把它改为这样:
#import "esrisystemui.olb"raw_interfaces_only raw_native_types no_namespacenamed_guids exclude("OLE_HANDLE","OLE_COLOR", "UINT_PTR" ) rename("ICommand","esriICommand") rename("IProgressDialog", "esriIProgressDialog")
现在运行调试应该是没有问题了。
接下来就做一个显示示例吧
在刚才创建的项目,在资源视图打开对话框,右键单击选择“插入ActiveX控件”,如图5,选择MapControl插件,然后添加许可绑定代码,新建一个方法,添加如下代码:
BOOL CMainFrame::InitialAE()
{
// 绑定许可
IArcGISVersionPtr ipVer(__uuidof(VersionManager));
VARIANT_BOOLsucceeded;
if (FAILED(ipVer->LoadVersion(esriArcGISEngine, L"10.0",&succeeded)))
return false;
// 初始化许可
IAoInitializePtripInit(CLSID_AoInitialize);
esriLicenseStatus status;
ipInit->Initialize(esriLicenseProductCodeEngine, &status);
if (status != esriLicenseCheckedOut)
AoExit(0);
return true;
}
在CMainFrame::OnCreate(LPCREATESTRUCTlpCreateStruct)中加入以下两句:
::CoInitialize(NULL);
BOOL isOk = InitialAE();
然后随便拖入一个按钮,单击事件如下处理:
void CgggView::OnBnClickedButton1()
{
BSTR file=SysAllocString(L"D:\\GISDataBase\\TestMap.mxd");
VARIANT pa;
pa.vt = VT_EMPTY;
VARIANT pp;
pp.bstrVal=SysAllocString(L"");
m_MapTest.LoadMxFile(file,pa,pa);
}
运行调试单击
图5
- VC2013 ArcGIS Engine 10.0开发环境搭建
- ArcGIS Engine开发--环境搭建
- ArcGIS Engine 10.2开发环境搭建
- ArcGis Engine(AE)开发环境的搭建
- 搭建ArcGIS Engine开发环境时,Visual studio中丢失ArcGIS模板的解决办法
- oVirt engine开发环境搭建
- ARCGIS 9.3 DESKTOP SERVER Engine 开发环境搭建完美实录 备忘录(好复杂必须备忘)
- Google App Engine JAVA 开发环境搭建
- Google App Engine JAVA 开发环境搭建
- google app engine 开发环境搭建
- Google App Engine JAVA 开发环境搭建
- arcgis engine开发学习
- vc arcgis engine开发
- ArcGIS Engine开发入门教程
- Arcgis Engine 开发初步
- Arcgis engine开发
- arcgis engine 基础开发
- ArcGis Engine 开发
- (Kruskal算法)Constructing Roads(12.1.1)
- 2015年6月购买CFA教材过程中必须注意事项
- C/C++中static关键字详解
- hdoj.1995 汉诺塔V 20140808
- 实现按钮式单选
- VC2013 ArcGIS Engine 10.0开发环境搭建
- 网络故障排查
- hdu 4930 Fighting the Landlords 多校第六场 斗地主纯模拟
- 【算法导论学习-008】算法时间复杂度的计算
- LinearLayout中layout_gravity控制控件位置
- dump_stack 和 trigger_all_cpu_backtrace
- [Linux]常用命令
- c++ Constructor FAQ 续
- 从HTML代码中提取文字,去掉HTML的标记