(一) VS2010
VS2010的安装网上教程很多,不再叙述。
(二) Qt
在VS中开发程序,需要下载Qt安装包和Qt的VS插件。
我用的版本是Qt5.4.2 for Windows(VS2010,OpenGL)、VisualStudio Add-in 1.2.5 for Qt5。
Qt装好后需要设置系统环境变量,在Path里加入D:\Qt\Qt5.4.2\5.4\msvc2010_opengl\bin
下载地址:http://qt-project.org/downloads
(三) OSG(OpenSceneGraph)
1、首先要下载程序包,可到:链接:http://pan.baidu.com/s/1bnUPZnL 密码:s2ko,下载,它包括:OpenSceneGraph-3.2.1-rc3.zip、osg-data-master.zip、3rdParty_VC10_x86_x64.zip2、在E盘创建一个osg3.2文件夹,将这三个文件放入到该文件夹内并解压,将解压的文件夹分别改为:OpenSceneGraph、3rdParty、data,如下图所示:
3、将3rdParty文件夹下的x64删除,只保留x86,这是一个第三方插件,比如要读取文字文件或者png文件,都是通过这个插件来读取的。
4、在OpenSceneGraph文件夹下创建一个build文件夹,之后的编译工程都在此文件夹下进行,不至于最后文件都放在一起不好区分。
5、安装CMake3.2,或者其他版本的也可以。
6、打开CMake (cmake-gui),然后将OpenSceneGraph文件夹下的CMakeLists.txt文件拖放到CMake中,然后更改编译路径,如下图所示:
7、点击Configure按钮,然后在弹出的对话框中选择VS2010,如下图所示:
8、点击完成之后,会出现以下界面:
9、修改ACTUAL_3RDPARTY_DIR目录,改成D:/osg3.2/3rdParty/x86,注意:如果不更改目录选择默认的,有可能第三方插件有部分会没有,比如读取文字字体插件以及读取png图片插件,没有这些插件就无法读取字体和图片,然后修改CMAKE_INSTALL_PREFIX安装目录,就是将库文件以及bin文件安装到那个位置,这里我们选择:E:/osg3.2/OpenSceneGraph,并且将BUILD_OSG_EXAMPLES打上对勾,配置如下图所示:
10、点击Configure之后会出现如下图所示,然后将BUILD_MFC_EXAMPLE和Advanced打上对勾,如下图所示:
如果想要生成Qt相关的工程,也要选择build openthreads with Qt;
默认勾选的 (注意,QT的path路径必须设置好)
其他的选项也要逐一检查下;
如果有多个Qt版本的话记得选择正确的版本;
我的情况是,安装了480版本,自己编译了550,程序匹配的是480,但是自己编译的Qt没有相应的库,比如D:\Qt\4.8.0\plugins\designer\arthurplugin.dll,所以在此处就将就了下,没有选择自己编译的库,用的安装的480版本;
-->
11、再次点击Configure,最后就会出现如下界面:
如果这过程中下面的这个区域:
出现了红色的乱码,我提醒下可能是跟你的VS10的一些默认项目文件存放的路径有关,之所以会乱码是因为可能上面说到的路径有中文。所以建议不要去修改VS10的一下默认的存放的路径,避免不必要的错误。当然随着这步勾选上BUILD_MFC_ EXAMPLE,正常的情况应该是中间区域的红色会全部消失,但是下面的区域你去查看会发现任然有些红色的语句警告,这无关紧要。可继续进行下一步。
12、最后点击Generate按钮,最后生成相应的工程,可在D:\osg3.2\OpenSceneGraph\build文件夹下生成相应的信息,如下图所示:
13、打开OpenSceneGraph.sln进行编译,在vs中选择批处理->然后选择ALL_BUILD的Debug和Release,如下图所示,然后选择生成:
14、点击生成之后就进入了编译,这个过程大概要4个小时,如下图所示,编译全部成功
15、编译完成之后再次打开批处理,将ALL_BUILD的Debug和Release对勾去掉,然后选择INSTALL的Debug和Release版本,点击生成,如下图所示:
16、这个过程就时间就很短了,最后生成结果如下图所示:
17、到此osg编译完成。
__________________________——————————————————————————————————
六.环境变量设置
右击“计算机”,然后“属性”,在计算机属性窗口的左边有个高级系统设置,
对系统变量设置如下:
OSG_FILE_PATH: D:\OSG\data 若无此变量,自己在电脑中添加 (没有冒号,注意)
PATH:D:\OSG\OpenSceneGraph\build\bin;
可在命令行进行测试osgversion,osglogo,osgviewer cow.osg。
七.新建OSG项目测试
a) 在VS2010下新建WIN32控制台程序,空白
b) 添加一个cpp
c) 输入以下代码:
#include
#include
int main( int argc, char **argv )
{
osgViewer::Viewer viewer;
viewer.setSceneData( osgDB::readNodeFile( "cow.osg" ) );
return viewer.run();
}
d)右键项目,选择“属性”,选择“VC++目录”,在包含目录添加:D:\OSG\OpenSceneGraph\build\include
在库目录添加:D:\OSG\OpenSceneGraph\build\lib.
将D:\OSG\OpenSceneGraph下的bin,include,lib文件夹拷贝到D:\OSG\OpenSceneGraph\build中,选择文件夹合并,否则将会出现基本头文件链接不上
e) 打开项目属性的链接器,输入里,附加依赖项加上:
OpenThreadsd.lib
f)运行,效果如下图:
————————————————————————————————
可能出现的问题:
1.出现无法解析的外部文件,说明库没连接上,但是其实是链接上了的,这时只需要改动 解决方案配置与解决方案平台,Debug和release与X64和WIN32互相搭配试一试。
,没有就新建一个
2.出现计算机中丢失zlibd1d.dll,将*:\OSG\3rdParty_x86_x64\x86\bin或者X64下的zlibd1.dll、zlib1.dll和zlibd.pdb文件拷到D:/OSG/OpenSceneGraph-3.0.1\bin\bin目录下,这样应该就可以运行了。
3.根据不同的电脑选择。可能出现X86与X64之间的问题,原因在于平台没有选对,最好的方式是重新建立一个新项目,然后代码进行复制后,跟第一个问题一样,选择对应的搭配尝试。