OSG3.4.0+QT5.8.0+VS2013+WIN10 64BIT

1.下载需要的文件

(1)OSG3.4.0源码  http://www.openscenegraph.org/index.php/download-section/stable-releases 

OSG for vs2013第三方库 http://www.openscenegraph.org/index.php/download-section/dependencies

OSG data数据 http://www.openscenegraph.org/index.php/download-section/data

(2)QT 5.8.0 (包括QT本身软件+插件)

 http://master.qt.io  

步骤CSDN    http://blog.csdn.net/qq_35040828/article/details/78590895

2.安装软件

(1)VS2013安装,参考网上资料;

(2)QT5.8.0软件+插件的安装:

  ①软件安装,步骤简单,基本点击下一步即可;

②插件安装,步骤简单,不过在安装完后需要在VS2013中配置一下

 Qt装好后需要设置系统环境变量,在Path里加入X:\Qt\Qt5.4.2\5.4\msvc2013l\bin

参考:http://blog.csdn.net/qq_35040828/article/details/53206001

3.OSG3.4.0源码编译

    步骤参考:http://blog.csdn.net/qq_35040828/article/details/51714228

(1)将1中下载的三个文件分别解压如图:

(2)OpenSceneGraph同级文件夹下创建一个buildosg_sdk文件夹,之后的编译工程都在此文件夹下进行,不至于最后文件都放在一起不好区分。

3)安装CMake

(4)打开CMake(cmake-gui),然后将OpenSceneGraph文件夹下的CMakeLists.txt文件拖放到CMake中,然后更改编译路径,如下图所示:

(5)点击Configure按钮,然后在弹出的对话框中选择VS2013 WIN64,如下图所示:

(6)点击完成之后,会出现以下界面,中间会出现一片红色,逐一修改

(7)修改

aACTUAL_3RDPARTY_DIR修改为第二步解压的3rdparty路径,记得选择里面得x64路径。(注意:如果不更改目录选择默认的,有可能第三方插件有部分会没有,比如读取文字字体插件以及读取png图片插件,没有这些插件就无法读取字体和图片)

bBUILD_DOCUMENATION(文档)可选。

cBUILD_OSG_EXAMPLES(例子)强烈建议选上。

dBUILD_OPENTHREADS_WITH_QT(如果想要生成Qt相关的工程,也要选择buildopenthreads with Qt;默认勾选的(注意,QTpath路径必须设置好)

eCMAKE_INSTALL_PREFIX输出路径, 就是将库文件以及bin文件安装到那个位置,这里我们选择:),更换为第二步创建的osg_sdk文件路径(D:/OSG3.4.0/osg_sdk)

(7)点击Configure之后会出现如下图所示,然后将BUILD_MFC_EXAMPLEAdvanced打上对勾,如下图所示:

(8)再次点击Configure,最后就不会出现红色区域,如下界面:

如果这过程中下面的这个区域: 

出现了红色的乱码,我提醒下可能是跟你的VS10的一些默认项目文件存放的路径有关,之所以会乱码是因为可能上面说到的路径有中文。所以建议不要去修改VS10的一下默认的存放的路径,避免不必要的错误。当然随着这步勾选上BUILD_MFC_EXAMPLE,正常的情况应该是中间区域的红色会全部消失,但是下面的区域你去查看会发现任然有些红色的语句警告,这无关紧要。可继续进行下一步。

(9)最后点击Generate按钮,最后生成相应的工程,可在D:\osg3.4.0 \build文件夹下生成相应的信息,如下图所示:

CMake用完可关闭。

(10)打开OpenSceneGraph.sln进行编译,在vs中选择生成->批生成->然后选择ALL_BUILDDebugRelease,如下图所示,然后选择生成:


11)点击生成之后就进入了编译,这个过程大概要4个小时,如下图所示,编译全部成功

失败的地方查看一下,如果是你不需要的就可以不用改了

   我遇到的问题是缺少mfc120d.lib,原因是VS2013MFC.lib丢失了,需要重新安装下,参考 http://blog.csdn.net/qq_35040828/article/details/78597005

       安装好后,重新生成这俩个项目即可

 

12)编译完成之后再次打开批处理,将ALL_BUILDDebugRelease对勾去掉,然后选择INSTALLDebugRelease版本,点击生成,如下图所示:

13)这个过程就时间就很短了,最后生成结果如下图所示:

14)到此osg编译完成。

4.OSG3.4.0+VS2013+QT5.8.0使用

       编译完成后,运行build里面的bin中的exe,有些纹理、模型数据是丢失的,因为没有配置系统环境,方便其需找到Data路径。

(1)系统变量配置

右击计算机,然后属性,在计算机属性窗口的左边有个高级系统设置,

对系统变量设置如下:

① data数据环境变量:OSG_FILE_PATH: D:\OSG3.4.0\Data      若无此变量,自己在电脑中添加  

②  建立一个文件夹命名SDK,将osg_sdk与build中的bin、include、lib拷进来,设置系统变量有:

PATH D:\OSG3.4.0\SDK\bin

③  第三方库的bin设置系统变量:PATHD:\OSG3.4.0\3rdParty\x64\bin

 

(2)新建OSG工程测试

a)VS2010下新建WIN32控制台程序,空白

b)添加一个cpp

c)输入以下代码:

 

#include<osgViewer/Viewer>

#include<osgDB/ReadFile>

intmain( int argc, char **argv )

{

osgViewer::Viewerviewer;

viewer.setSceneData(osgDB::readNodeFile( "cow.osg" ) );

returnviewer.run();

}

d)右键项目,选择“属性”,选择“VC++目录”,在包含目录添加:D:\OSG3.4.0\SDK\include

在库目录添加:D:\OSG3.4.0\SDK\lib

D:\OSG3.4.0\OpenSceneGraph下的bin,include,lib文件夹拷贝到D:\OSG3.4.0\SDK中,选择文件夹合并,否则将会出现基本头文件链接不上

e)打开项目属性的链接器,输入里,附加依赖项加上:

OpenThreadsd.lib
osgd.lib

osgDBd.lib
osgFXd.lib
osgGAd.lib
osgManipulatord.lib
osgParticled.lib
osgShadowd.lib
osgSimd.lib
osgTerraind.lib
osgTextd.lib
osgUtild.lib
osgViewerd.lib

f)运行,效果如下图:

(3)可能出现的错误

a). gl.h编译出错  添加头文件#include<Windows.h>即可!

b).出现无法解析的外部文件,说明库没连接上,但是其实是链接上了的,这时只需要改动  解决方案配置与解决方案平台,DebugreleaseX64WIN32互相搭配试一试。

,没有就新建一个

c).出现计算机中丢失zlibd1d.dll,将*:\OSG\3rdParty\x64\bin或者X64下的zlibd1.dllzlib1.dllzlibd.pdb文件拷到D:/OSG/OpenSceneGraph-3.0.1\bin\bin目录下,这样应该就可以运行了。

 

d).根据不同的电脑选择。可能出现X86X64之间的问题,原因在于平台没有选对,最好的方式是重新建立一个新项目,然后代码进行复制后,跟第一个问题一样,选择对应的搭配尝试。



因为是在word里面记录的,图片不显示,就懒得贴上去了,步骤没错就行

猜你喜欢

转载自blog.csdn.net/qq_35040828/article/details/78597537
今日推荐