VS2013+OSG3.4.0+Qt5.5.1编译(超详)

准备

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

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

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

osgdatahttp://www.openscenegraph.org/index.php/download-section/data 文件为OpenSceneGraph-Data-3.4.0.zipspa

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

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

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

qt文件http://download.qt.io/archive/qt/5.5/5.5.1/ 文件为qt-opensource-windows-x86-msvc2013-5.5.1.exe教程

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

第四步,安装qt5.5.1 这不网上有不少教程,这里再也不赘述,能够参考http://blog.csdn.net/wangell/article/details/41117139http://blog.csdn.net/yb844154912/article/details/50929327,vsaddin安装后,须要在环境变量中加上两个变量ci

变量名: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

CMAKE编译

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

SET(DESIRED_QT_VERSION "5.5.1" CACHE STRING "")   5.6.2为安装的QT的版本 
SET(CMAKE_PREFIX_PATH "D:\software\Qt5.5.1\5.5\msvc2013_64" CACHE PATH "")

 D:\software\Qt5.5.1\5.5\msvc2013_64 为QT的安装路径,加完保存,以下图

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

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

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

VS2013批生成

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

若是没有,则有可能没有加第五步的代码,点击生成-批生成,勾选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