OSG+QT5+vs2010编译

OSG+QT5+vs2010编译

作者:JTR@BNU

 本文属于原创,转载请注明出处。

由于网上没有找到关于编译QT5环境下的OSG,自己就研究了下,记录下整个过程,希望能帮到大家。

1. 准备工作

下载源代码:

A、openscenegraph 3.2.1(当前最新的realease版本)

http://www.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.2.1.zip

 

B、osg-3rdparty

https://github.com/bjornblissing/osg-3rdparty-cmake

 

C、Cmake  3.2.2(当前最新)

http://www.cmake.org/files/v3.2/cmake-3.2.2-win32-x86.exe

 

环境介绍:

OS:windows 7 64bit

IDE: visual studio 2010 旗舰版

QT:Based on Qt 5.3.1(MSVC 2010, 32 bit)

 

2. 编译osg-3rdparty

a. 打开cmake-gui选中osg-3rdparty源代码,并设定想要放置工程的目录,如下图


OSG+QT5+vs2010编译_第1张图片

点击Configure按钮,选择vs2010如下图
 
 OSG+QT5+vs2010编译_第2张图片

OSG+QT5+vs2010编译_第3张图片



c. 配置好第三方库源代码的位置,如下图,第三方源代码可以在Readme.md中找到下载链接

OSG+QT5+vs2010编译_第4张图片


 
d. 纠错图中glut实际采用的是glut-3.7,所有配置如下图,并且点击Configure之后点击Generate,如下图
 
OSG+QT5+vs2010编译_第5张图片



e. 在vs2010中打开工程,右键ALL_BUILD->生成,完成会在工程所在目录下面生成lib目录其中有两个目录Release和Debug,就是我们想要的osg-3rdparty文件。或者在项目中找到INSTALL工程分别在Debug和Release模式下右键生成,就会在工程目录看到如下文件夹3rdParty
 

OSG+QT5+vs2010编译_第6张图片


我编译的目录结构如下

OSG+QT5+vs2010编译_第7张图片
 
可以看出下面的子目录显示了对应的编译环境,使用的vs2010,并且是32bit系统,我们需先做好准备将目录变成如下结构,是为了方便OSG的Cmakelist设置。(放在和OSG源代码同级目录下)
 

OSG+QT5+vs2010编译_第8张图片

3. 编译OSG

a. 解压OSG源代码文件,本文要使用qt5的库来编译OSGQT的组件,因此这里需要修改osg根目录下的Cmakelist.txt文件(非常重要),添加如下两句(在文件开始添加即可)


set(DESIRED_QT_VERSION "5" CACHE STRING "")
set(CMAKE_PREFIX_PATH "C:\Qt\Qt5.3.1\5.3\msvc2010_opengl" CACHE PATH "")


(注意上面的路径修改成你QT5安装的路径)


重新打开cmake-gui,设置源代码和工程目录,如下


 OSG+QT5+vs2010编译_第9张图片


b. 将上一节生成的3rdParty目录拷贝到和OSG代码同级目录,我这里就是D:/osg-qt5(32bit)-vs2010/。
Configure之后选择vs2010,如下


OSG+QT5+vs2010编译_第10张图片


 
想要编译osg自带例子的话勾选如下(这里勾选了)
 

OSG+QT5+vs2010编译_第11张图片


c. 选好之后可以重新点击Configure按钮将红色选项确定一下,注意查看变红的选项,如果觉得都配置可以就一直点击Configure,一直到全部选项不为红,再点击Generate按钮,生成最后的工程文件。工程目录如下
 

OSG+QT5+vs2010编译_第12张图片


d. 使用vs2010打开工程,如下


 OSG+QT5+vs2010编译_第13张图片


e. 然后右键ALL_BUILD工程,生成,之后就是漫长漫长的等待,去吃饭,去喝咖啡吧……….


f. 最后右键INSTALL工程生成。


4. 总结

在网上找了很久编译osg的教程都是针对qt4的,这里研究了下qt5,环境下编译osg,记录下来希望能帮助大家。有什么不对的地方还请指出。


你可能感兴趣的:(openscenegraph,OSG,QT5,openscenegraph,OSG,QT5,VS2010)