本文摘自http://joke.li/blog/archives/77
www.cmake.org
OpenSceneGraph-2.8.1源代码,下载地址:
http://www.openscenegraph.org/downloads/stable_releases/OpenSceneGraph-2.8.1/source/OpenSceneGraph-2.8.1.zip
也可以使用SVN同步版本库,地址为:
http://www.openscenegraph.org/svn/osg/OpenSceneGraph/tags/OpenSceneGraph-2.8.1
OSG的第三方开发库支持,可以自行去各个开源开发库的网站下载,也可以从下面的SVN地址下载整合好的开发库Lib文件和头文件:
https://osgtoy.svn.sourceforge.net/svnroot/osgtoy/3rdParty/branches/3rdParty_win32binaries_vs80sp1
准备好所需的源代码,编译工具和第三方开发工具后,就可以开始在Windows环境下编译OSG 2.8.1了。
一、使用CMake生成Visual Studio 8 2005工程项目
1、打开CMake的界面,将OpenSceneGraph-2.8.1.zip解压缩,比如解压目录为:D:/osg/OpenSceneGraph-2.8.1, 并将解压目录中的CMakeLists.txt文件拖动到CMake的界面下。
2、在Where to build the binaries 选项中,在路径的末尾加上“/build”,即为:D:/osg/OpenSceneGraph-2.8.1/build。在这个文件夹中将存放cmaker生成的二进制文件。
3、按下“Configure”按钮,软件会提示你build目录不存在,是否创建,点击“Yes”创建目录。
4、此时软件会弹出对话框询问你要生成哪种项目工程,我们选择Visual Studio 8 2005。然后点击Finish确定。
5、在此之后,软件便开始configure这个项目,它会分析项目中已有的相关配置。然后将有疑问的未配置项目标定为红色。
6、在第一次进行配置时,有以下几项需要注意:
(1)ACTUAL_3DPARTY_DIR:即整合的第三方开发库所在目录,如果下载了OSG提供的整合好的第三方开发库,那么可以在这里设置解压缩之后它的位置,CMake将在下次配置时自动搜索所需的Lib文件和头文件路径。
(2)BUILD_OSG_EXAMPLES:是否编译OSG所有例子程序的选项,应当选择“ON”。
(3)CMAKE_CONFIGURATION_TYPES:定义了工程文件中工程配置的种类,缺省值包括Debug,Release,MinSizeRel和RelWithDebInfo四种类型。注意不同的配置类型在工程中对应不同的编译选项,可以在CMAKE_CXX_FLAGS和CMAKE_EXE_LINKER_FLAGS中进行修改。
(4) CMAKE_INSTALL_PREFIX:用于以后保存编译生成的EXE,DLL和LIB文件的路径,在这个路径下会自动建立bin(为可执行程序的执行提供DLLs), lib(库文件), include(头文件), and share/OpenSceneGraph/bin/(实例的可执行文件)等四个文件夹,我们使用默认设置:“C:/Program Files/OpenSceneGraph”
7、配置好以上四个项目后,按下“Configure”按钮进行本次配置,而与当前所配置的项相关联的选项将在下一次配置时再次变红,等待用户重新进行配置;忽略其他未配置项,一直点击“Configure”按钮直到“Generate”按钮变回可用。
8、按下“Generate”按钮,此时将生成用户所需的所有Visual Studio 8 2005
工程文件。
二、在Visual Studio 8 2005中编译生成二进制文件。
1、进入D:/osg/OpenSceneGraph-2.8.1/build文件夹,双击OpenSceneGraph.sln文件,则会在VS2005中打开整个解决方案。
2、使用Debug编译模式,选择项目列表中的ALL_BUILD,然后点击右键,选择菜单中的“Build”命令编译整个解决方案。
3、整个编译过程会持续很长时间,需要耐心等待,编译完成后,在项目列表中,选择“INSTALL”子项目,然后点击右键,选择菜单中的“Build”执行安装程序,安装的目录位置就是在CMake中设置的CMAKE_INSTALL_PREFIX选项的属性值。
4、将编译选项设置为Release,重复这项2、3步骤。
至此,OSG2.8.1源码的编译工作全部完成。编译好的文件已经全部安装在C:/Program Files/OpenSceneGraph中。那么,OSG2.8.1的系统环境配置和VS2005中的配置,以及使用,请参见 http://joke.li/blog/2010/07/23/opensencegraph配置指南/。