1. 在E盘新建文件夹OSG,将OpenSceneGraph-2.8.3 OpenSceneGraph-Data-2.8.0和3rdParty_Win32Binaries_vc90sp1置于E:/OSG
2. 在OpenSceneGraph-2.8.3中新建文件夹Build ,即E:/OSG/OpenSceneGraph-2.8.3/Build。用来存放OpenSceneGraph-2.8.3源文件编译后生成的内容。
3. 启动CMake, 将源程序中的CmakeList.txt托到CMake界面上(注意相应的路径不要填错)源为:E:/OSG/OpenSceneGraph-2.8.3;Build路径为:E:/OSG/OpenSceneGraph-2.8.3/Build;第三方库路径为:E:/OSG/3rdParty_Win32Binaries_vc90sp1/3rdParty。点击 Configure. 多次Configure后,将BUILD_MFC_EXAMPLE BUILD_OSG_APPLICATIONS BUILD_OSG_EXAMPLES
BUILD_OSG_PLUGINS BUILD_OSG_WRAPPERS 设置为ON。最后生成即可。(期间,遇到很多问题:1.无法找到某些文件,可以手动修改路径,若仍然找不到,则暂时忽略;2.开始没有BUILD_MFC_EXAMPLE,经多次Configure后,出现;3.没有BUILD_OSG_PLUGINS,因为新版本的源文件中,编译BUILD_OSG_WRAPPERS(内省库)的同时会编译BUILD_OSG_PLUGINS(插件库),因此没有BUILD_OSG_PLUGINS是正常的,因为它会在编译BUILD_OSG_WRAPPERS的同时被编译)
4. 用VS2008打开OpenSceneGraph,选择Debeg(也可选择Release)进行编译。编译需要将长时间,约40-60min(期间,出现几个问题:1.出现很多警告,可以忽略;2.若有连接错误,则需删除Build文件夹下所有内容重新CMake并重新编译,直至编译成功)
5. 在E:/OSG目录下新建文件夹inlcude,分别将E:/OSG/OpenSceneGraph-2.8.3 E:/OSG/OpenSceneGraph-2.8.3/Build和E:/OSG/3rdParty_Win32Binaries_vc90sp1/3rdParty中的inlcude文件夹下的内容对应的复制到其中。
6. 在E:/OSG目录下创建文件夹lib,在E:/OSG/lib文件夹下创建文件夹Debug和Release,分别将在Debug和Release配置下编译生成的lib文件对应的复制到其中,并且将第三方库中的lib文件夹中的内容也复制到其中。
7. 在E:/OSG目录下创建文件夹bin,将Debug配置下生成的dll文件(bin文件夹下)复制到其中,并且将第三方库中的bin文件夹中的内容也复制到其中。
8. 打开VS2008,工具->选项->项目和解决方案->C++目录,新建包含文件的目录E:/OSG/include;新建库文件的目录E:/OSG/lib/Debug;新建可执行文件的目录E:/OSG/bin
9. 右击“我的电脑”,选择属性->高级->环境变量->系统变量,设置两个环境变量:1>在Path中,添加E:/OSG/bin;(需要以英文输入法下的分号间隔) 2>新建OSG_FILE_PATH变量,内容为E:/OSG/OpenSceneGraph-Data-2.8.0
10. 打开测试的项目,右键->属性->连结器->输入:在附加依赖项中输入:osgd.lib OpenThreadsd.lib osgDBd.lib osgViewerd.lib osgGAd.lib osgTextd.lib