首先:获取WORLDWIND最新代码——建议不要直接下载源代码包进行编译,一是因为它并不是最新版本的代码,WW的代码最近经常更新;二是缺很多依赖的类库。建议用TortoiseSVN客户端从sourceforge的WorldWind源代码仓库中获取最新版本的代码,具体方法可以参考http://www.worldwindcentral.com/wiki/Compiling_the_sources
感谢:http://blog.163.com/joe331_80/blog/static/40093826201081914525103/
然后确认已经安装DirectX。通过【运行】——【cmd】——输入dxdiag查看。
1、先编译PluginSDK工程,然后编译整个WorldWind解决方案
2、开始编译。会发现很多字符串相关的语法错误。里面的语法错误其实是文件编码的问题引起的,关掉已经打开的源码文件,在VS的解决方案管理器里右键文件,选“打开方式”,选“带编码功能的CSharp编辑器”,选“西欧(windows)-代码页 1252”,打开文件,就可以看到乱码没有了,然后在文件菜单里把这个源码文件的保存编码改成UTF8,再保存源码文件,以后就可以正常打开了。受影响的文件有如下几个,列出作参考,以vs中错误提示为准:(1)PluginSDKAngle.cs
(2)PluginSDKConfigurationLoader.cs
(3)WorldWindGpsPluginGPSTrackerPlugin.WorldWind.cs
(4)WorldWindCompass3D.cs
(5)WorldWindExternalLayerManager.cs
(6)WorldWindMeasureTool.cs
3、LoaderLock问题:
菜单(调试-》异常)——》异常窗口 ——》ManagerDebuggingAssistants ——》去掉LoaderLock选项
其他:
::无法打开WorldWind.cs的解决方法:
双击WorldWInd.cs文件,报错如下:
警告 1 设计器无法处理第 1070 行的代码:this.splitContainer.Panel1Collapsed = !World.Settings.BrowserVisible;
方法“InitializeComponent”内的代码由设计器生成,不应手动修改。请移除任何更改,然后尝试重新打开设计器。
D:World_Wind_1.4.0_SourceWorldWindWorldWind.cs 1071 0
即使忽略并继续也不行,可暂时将那第1070行代码改成:
this.splitContainer.Panel1Collapsed = true;//!World.Settings.BrowserVisible;
::项目默认解决方案配置为Release,解决方案平台为AnyCPU(但是Release下实际上配置的是X86,而Debug配置的是AnyCPU,无法理解。)
不做任何更改应该可以运行WorldWInd了。
::注册表权限问题:打开HtmlEditor项目的属性,取消“生成(Build )”选项卡的为COM互操作注册('Register for COM interop')前的勾选