主要摘录如下,红字为我自己的注释,是我又碰到的新问题及解决途径:
原文摘自:http://hi.baidu.com/paladin1893/blog/item/e359f9cabd581217be09e6d8.html
NASA World Wind开源项目配置详细解说
NASA World Wind 是C#开发地个人电脑上地开源地3D图形虚拟地球系统。它结合了美国国家航空航天局(NASA)从卫星拍摄地图像,这些图像来源于Blue Marble, Landsat 7, SRTM, MODIS 以及其它。
用户可以到这里下载.net源码 http://worldwind.arc.nasa.gov/
下载后,打开解决方案,运用地是VS2005(2008)均可,一共有16个项目组成。
配置步骤如下:
一、安装DirectX
编译运行之前首先要安装DirectX,因为Worl Wind中的子项目有对其的引用,如下:
PluginSDK项目需三个引用:Microsoft.DirectX,Microsoft.DirectX.Direct3D,Microsoft.DirectX.Direct3DX;
WorldWind项目需四个引用:Microsoft.DirectX,Microsoft.DirectX.Direct3D,Microsoft.DirectX.Direct3DX,Microsoft.DirectX.DirectInput。
DirectX是微软一系列技术地集成,用来提供Windows平台多媒体运行地API,支持应用程序、多媒体软件和3D游戏非常声效。
我下载地是DirectX9.0c多语言版,解压后,运行程序DXSETUP.exe。
二、修改语法错误
不知何故,下载下来的源码有很低级的语法错误,而且犯错的地方比较多,不过,没关系,因为很容易修改。语法错误的地方主要发生在表示经纬度的度的输出代码左右,往往是引号不配对,只需将缺失的引号添加完整即可。
----例子----:
修改前:
labelText += string.Format("\nBearing: {0:f1}?, Azimuth.Degrees );
修改后:
labelText += string.Format("\nBearing: {0:f1}?", Azimuth.Degrees );
这种语法的错误挺多,但要注意,缺失的引号包括单引号和双引号。
(语法错误的修改说法不一,有的说将?直接换成单双引号,有的说是在?后面直接加单双引号,我是在?后面直接加单双引号的,看来NASA的源代码也不是完全绝对正确的,可能是字符识别的错误)
三、其他引用的添加
1、上述工作完成,重新编译项目,PluginSDK和WorldWindow得先编译生成Dll,以满足其他子项目引用所需;
2、假定所有的源文件的根目录为World_Wind_1.4.0_Source,在该目录下,找到World_Wind_1.4.0_Source\bin\Debug,将该目录下的Config、Data和Plugins目录,以及AviFile.dll、FlickrNet.dll、Org.Mentalis.Security.dll、ZedGraph.dll等拷贝粘贴到World_Wind_1.4.0_Source\WorldWind\bin\x86\Release目录下即可。
(此时调试又会出现新的问题:弹出错误对话框“无法直接启动带有“类库输出类型”的项目”,此时,右击项目“属性”,在弹出的属性对话框中“通用属性----->启动项目”中的单启动项目中选择worldwind,然后调试,如下图所示
此处解决后,再会出现“检测到LoaderLock问题”的异常,单击菜单“调试---->异常”弹出的异常窗口中在ManagerDebuggingAssistants下拉列表 中去掉LoaderLock选项,此处见http://www.cnblogs.com/wuhenke/archive/2009/12/09/1620545.html中错误二)
好了,完成上述工作后,你就可以成功编译运行World Wind源码了。编译过程中,出现的错误提示都不用理会,直管“继续”往下,直到“完成”。你就可以看见World Wind的运行窗口了。
PS:编译运行中出现的其他问题可以不予理会。
再次感谢网上各路牛人的热心发布的帖子和博客帮助了我解决这些问题。
以下是网上有关world wind调试问题的帖子的博文:
http://www.cnblogs.com/wuhenke/archive/2009/12/09/1620545.html
http://hi.baidu.com/paladin1893/blog/item/e359f9cabd581217be09e6d8.html
http://bbs.godeyes.cn/showtopic-29148.aspx
http://hi.baidu.com/analyzecode/blog/item/c905aa31862051a85edf0e05.html
http://blog.csdn.net/wangyCASW/archive/2010/02/03/5285151.aspx
http://blog.csdn.net/dazhi_1314/archive/2010/07/01/5706978.aspx