OSG 3.4.0 + VS 2013 超详细配置
文章目录
说明
- 我也是第一次配置,边配置,边截图,边写博客,嘿嘿
- 其实这玩意编译没什么意思,就是熟悉一下CMAKE的使用及第三方库的配置
- 所以博主直接将编译好的目录及 VS 配置的 .props 分享出来,拿去直接用
链接一:BaiduYun,提取码:ka7t
- 其实配置过程中还是遇到一些问题的,不过均已解决,请阅读下文
- 虽然本文写的是 OSG 3.4.0 ,但是其它版本的配置和这个也是大同小异,有一定的借鉴意义
- 请持续关注我的后续文章,一起学习,一起进步 …
1. 下载
1.1 进入官网的 Downloads
1.2 先下载源代码
源代码不分 x86 还是 x64
1.3 再下载第三方库
这个下载下来可能会包含 x86 和 x64,我们只用 x64
1.4 最后下载 Data
数据不分 x86 还是 x64,这里的数据是指官方 Demo
经我编译发现,官网的 源代码 和 第三方库 在编译时候会出现一些很奇葩的错误,所以我后来改用别人提供的文件进行下载,链接见文章开始(Data 还是下载官网的)
或者从该博主这里下载:OSG VS2013环境配置
2. CMAKE
CMAKE 不懂的请自行百度并下载,CMAKE 版本,我用的是 3.13.0 rc2
CMAKE 不用安装,下载下来在 bin 目录下有 cmake-gui.exe ,双击直接用
2.1 新建 4 个子文件夹
2.2 解压至指定目录
2.3 开始 CMAKE
下面图中,注意路径与文件夹的一一对应
下面这幅图中,因为三方库我们选择的是 x64,所以这里要选 2013 Win64
注意下面这幅图中 1、2、3 都仔细检查检查,另外需要知道的是,不小心忘记修改后,可以重新修改再 configure,下一次的 configure 会覆盖上一次 configure 的结果
以上过程如有失败,请仔细检查!!!
3. VS 2013 编译
3.1 打开 build 下面的工程文件
这时候会有2~5分钟的项目加载时间。等项目全部初始化完毕后再进行操作!!!
3.2 先进行 ALL_BUILD 的生成
先进行 ALL_BUILD 的批生成,时间较长,CPU i7700,实测用时,19:09 开始,22:57 结束,将近 4 小时
因为我们是用 x64 的VS进行编译的,所以这里只会出现 x64
漫长的等待,这步只会出现 warning,不会出现 error,如果出现 error,请及时停止批生成(按 ctrl + PauseBreak 结束),然后重新检查上面步骤是否有误!!!
终于完了~~~!
3.3 再进行 INSTALL 的生成
进行 INSTALL 的批生成,这个就很快了,实测用时,23:05 开始,23:06 结束,没错,你没看错,就是 1 分钟
剩下的明天再写~~~
4. 环境配置
分为 Debug 和 Release 环境配置!!!不管是 Debug 环境配置还是 Release 环境配置,两者都有相同操作!!!所以先配置相同操作!!!
4.1 共有操作
4.1.1 整理文件夹
看了几篇博客,我感觉他们在这部分写的不太对,主要表现在 include 这个文件夹,编译后 build 的 include 文件夹内有三个子文件夹,可是都是空的,不知道你的是不是,反正我的是,然后我看源码中的 include 文件夹里面才是正确的头文件,所以我用的源码中的 include 文件夹!!!
lib 文件夹和 bin 文件夹中,以 .pdb 、.ilk 和 .exp 结尾的都是些多余的东东,自行手动删除,不删除也可以,我提供的下载链接中已经删除!!!!
4.1.2 新建系统变量的 OSG_FILE_PATH
- OSG_FILE_PATH
- D:\OSG\data
4.1.3 新建系统变量的 Path 变量
- D:\OSG\bin
这步完成后最好重启电脑,因为 Windows 并不会立马对上述配置生效!!!
4.2 分开操作
- 此时新建一个 win32 控制台工程,这个我就不废话了
不管是 Debug 环境配置还是 Release 环境配置,都建议采用在属性管理器新建属性表的方式来创建!方便导出到本地以后直接使用!
4.2.1 Debug 配置
和以前的配置三方库一样,还是VC++目录 - 包含目录、VC++目录 - 库目录、链接器 - 附加依赖项,直接贴出来,方便复制
VC++目录 - 包含目录
D:\OSG\include
VC++目录 - 库目录
D:\OSG\lib
链接器 - 附加依赖项
OpenThreadsd.lib
osgAnimationd.lib
osgd.lib
osgDBd.lib
osgFXd.lib
osgGAd.lib
osgManipulatord.lib
osgParticled.lib
osgPresentationd.lib
osgQtd.lib
osgShadowd.lib
osgSimd.lib
osgTerraind.lib
osgTextd.lib
osgUId.lib
osgUtild.lib
osgViewerd.lib
osgVolumed.lib
osgWidgetd.lib
4.2.2 Release 配置
release 和 debug 只是在附加依赖项有区别(debug 的后面都有一个 d,而 release 没有),前两者一样
链接器 - 附加依赖项
OpenThreads.lib
osg.lib
osgAnimation.lib
osgDB.lib
osgFX.lib
osgGA.lib
osgManipulator.lib
osgParticle.lib
osgPresentation.lib
osgQt.lib
osgShadow.lib
osgSim.lib
osgTerrain.lib
osgText.lib
osgUI.lib
osgUtil.lib
osgViewer.lib
osgVolume.lib
osgWidget.lib
4.2.3 属性表导出
在该项目下即可以找该到属性表
5. 测试
5.1 写代码
#include <osgViewer/Viewer>
#include <osgDB/ReadFile>
int main(int argc, char **argv){
osgViewer::Viewer viewer;
viewer.setSceneData(osgDB::readNodeFile("cow.osg"));
return viewer.run();
}
5.2 运行看效果
成功的话,全屏显示一头牛
其实经典的图应该是滑翔机(请自行了解 OSG 的发源),见图
退出按 ESC 。想要不全屏显示???请看我的系列文章 ------ 《OSG 之学习一:OSG 基础》
不成功的话,比如说出现以下情况 …
那么就需要重启电脑!!!!!!!!!!其它情况以后补充!!!
6. 编译时可能出现的错误
- 错误一:与目标计算机 x64 冲突
CMAKE 时候是否正确选择编译器(x64 选择 Win64;x86 直接选 2013,后面什么也不加)
- 错误二:缺少 XXX.lib
这个应该是和源码有关,发现这个问题后,我就用了这位博主的安装包,然后就成功了
该博主博客链接直接:OSG VS2013环境配置
- 错误三:CMAKE 失败
清仔细阅读 CMAKE 部分
- 错误四:缺少 unistd.h
这个应该也是和源码有关
- 错误五:以后补充…
以后补充…
7. 运行时可能出现的错误
- 这个就看人品了吧,哈哈哈~~~有问题请及时留言,我予以解决
参考博客
请继续关注我的后续文章,一起学习,一起进步 …
上一篇: Solr[源码详解]
推荐阅读
-
VS2015ASP.NET MVC5项目中Spring.NET配置方法(超详细)
-
【超详细】C++Json:VS2015的jsoncpp库配置及简单使用
-
QT下载和配置pyqt5(超详细)(qt+python+vs2017)
-
GLFW+GLAD+VS2017配置OpenGL开发环境超详细教程
-
OSG 3.4.0 + VS 2013 超详细配置
-
接之前的文章,VS2017中使用Spring.NET配置以及使用方法(framework4.6.1超详细)
-
VS2015ASP.NET MVC5项目中Spring.NET配置方法(超详细)
-
【超详细】C++Json:VS2015的jsoncpp库配置及简单使用
-
接之前的文章,VS2017中使用Spring.NET配置以及使用方法(framework4.6.1超详细)
-
osg3.4.0+vs2013+win10(64位)CMAKE已经编译好,直接配置使用