vs2013+osg3.4+qt5.6.2编译过程

花了大概10天左右的时间,终于把osg和osgearth编译好,中间出现各种错误,几乎想放弃,但最后还是编译出来啦,在这里我把我的编译过程给大家分享下,希望能够帮到各位。

第一步,下载所需要文件,编译osg需要三个文件osg、osg第三方库和osgdata,编译时需要用到cmake软件,我用的是vs2013和osg3.4

osg文件:http://www.openscenegraph.org/index.php/download-section/stable-releases  文件为OpenSceneGraph-3.4.0.zip

osg第三方库:http://www.osgvisual.org/wiki/Downloads#a3rdPartysmallpackageV10 文件为3rdParty_VS2013_v120_x86_x64_V9_full.7z

osgdata:http://www.openscenegraph.org/index.php/download-section/data 文件为OpenSceneGraph-Data-3.4.0.zip

cmake:https://cmake.org/download/ 文件为cmake-3.7.0-win64-x64.msi

第二步,在E盘新建一个OSG文件夹,并在里面新建三个子文件夹,名字分别是3rdParty,OpenSceneGraph和OpenSceneGraph-Data,解压上面三个压缩包到相应文件夹下面

第三步,下载qt安装文件和qt-vs-addin

qt文件http://download.qt.io/archive/qt/5.6/5.6.2/ 文件为qt-opensource-windows-x86-msvc2013-5.6.2.exe

vsaddin文件http://download.qt.io/archive/vsaddin/ 文件为qt-vs-addin-1.2.5.exe

第四步,安装qt5.6.2 这不网上有很多教程,这里不再赘述,可以参考http://blog.csdn.net/wangell/article/details/41117139和http://blog.csdn.net/yb844154912/article/details/50929327,vsaddin安装后,需要在环境变量中加上两个变量

变量名:QTDIR    变量值:D:\Qt\Qt5.6.0\5.6\msvc2013

变量名:path    变量名:%QTDIR%\bin

你装的VS2013没有过MFC,请务必到microsoft官网下载MultibyteMFC library for VS2013。否则编译过程中会出现找不到mfc***.lib之类的错误,可以参考http://blog.csdn.net/u011310341/article/details/51352330

第五步,首先在解压后的OpenSceneGraph-3.4.0文件夹里面新建一个build文件夹,用来存放编译内容,用vs2013打开CMakeLists.txt,在里面加两行代码

SET(DESIRED_QT_VERSION "5.6.2" CACHE STRING "")   5.6.2为安装的QT的版本 

SET(CMAKE_PREFIX_PATH "D:\Qt\Qt5.6.2\program\5.6\msvc2013" CACHE PATH "")  D:\Qt\Qt5.6.2\program\5.6\msvc2013 为QT的安装路径,加完保存,如下图

vs2013+osg3.4+qt5.6.2编译过程_第1张图片

第六步,打开cmake软件,CMakeLists.txt文件拖到cmake界面上,选择路径,如图

vs2013+osg3.4+qt5.6.2编译过程_第2张图片

build为刚刚新建的文件夹 点击configure,选择vs2013平台,然后3rdparty的路径为你第三方库解压后的路径,在BUILD...WITH_QT和BUILD....APPLICATIONS和BUILD...EXAMPLES上打勾,CMAKE_INSTALL_PREIFX的路径为刚刚新建的build路径,如图

vs2013+osg3.4+qt5.6.2编译过程_第3张图片

继续点击configure,并把上面的Advanced打勾,BUILD_MFC_EXAMPLE打勾,继续configure,出现没有红的啦,这是点击generate,出现generating done,表明生成成功,如图

vs2013+osg3.4+qt5.6.2编译过程_第4张图片

第七步,vs2013以管理员身份打开刚刚在build文件里面生成的OpenSceneGraph.sln文件,查看OSG core下面有没有osgQT工程,如图

vs2013+osg3.4+qt5.6.2编译过程_第5张图片

如果没有,则有可能没有加第五步的代码,点击生成-批生成,勾选ALL_BUILD的Debug和Release,生成,大概等3-4个小时,就能成功,继续勾选INSTALL下面的Debug和Release,点击生成,大概几分钟就能生成成功,如果不报错,那么恭喜你,编译成功啦

第八步,数据转移,在D盘新建OSG文件夹,将E盘刚刚新建的build文件夹下的bin,include,lib文件夹拷贝到D:\OSG下,将E:\OSG\OpenSceneGraph-Data下的数据拷贝到E:\OSG\data下,这几个文件是OSG需要的

第九步,环境变量设置,OSG_FILE_PATH,变量值为D:\OSG\data,在PATH中添加D:\OSG\bin,cmd下输入osgversion,osglogo,osgviewer cow.osg进行检测

第十步,新建工程,点击属性-VC++目录,在包含目录添加D:\OSG\include,在库目录添加:D:\OSG\lib,在连接器-输入-附加依赖项加上

OpenThreadsd.lib
osgd.lib
osgDBd.lib
osgUtild.lib
osgGAd.lib
osgViewerd.lib
osgTextd.lib

这里可以参考http://blog.csdn.net/liuci3234/article/details/9313961

程序即可运行,先写到这里,下一篇将写osgearth的编译过程。



你可能感兴趣的:(osg,qt)