欢迎关注我的微信公众号“人小路远”哦,在这里我将会记录自己日常学习的点滴收获与大家分享,以后也可能会定期记录一下自己在外读博的所见所闻,希望大家喜欢,感谢支持!
主要参考https://blog.csdn.net/u013719339/article/details/78415685
之前自己尝试用CMAKE编译OSG源码,折腾了半天还老出错,最后索性直接找了大佬编译好的版本,问题迎刃而解。
目录
一、数据准备
1、编译好的OSG(OSG3.4.1 release,源自参考链接)
链接:https://pan.baidu.com/s/1kcDsLpjFnNUdaP8gkkPkVw
提取码:zy94
2、OSG第三方依赖库(下载自己对应的VS版本)
https://github.com/bjornblissing/osg-3rdparty-cmake
3、OSG数据集
http://www.openscenegraph.org/index.php/download-section/data
二、数据整理
在某一个盘符下新建如下图所示的文件夹结构,3rdParty下放第三方依赖库、Build文件夹下放编译好的文件、data文件夹下放OSG数据集
三、配置环境变量
1、系统变量中PATH添加C:\OSG\Build\bin
2、新建一系统变量,名字为OSG_FILE_PATH,路径为C:\OSG\data\OpenSceneGraph-Data-3.4.0
四、简单测试
打开cmd,输入osgversion即可出现版本号,输入osgiewer cow.osg会出现一头牛。至此一般已无问题
五、新建VS项目测试
1、在VS下新建Visual C++控制台程序HelloOSG。
2、右键项目,选择“属性”,顶部平台选择x64,左侧配置属性选择“VC++目录”,分别点击“包含目录”和“库目录”进行编辑,添加如下图所示的路径:
3、选择左侧“C/C++”中的“预处理器”,在预处理器定义中增加WIN32;(记得用分号把它与后面的字符隔开):
4、选择左侧“链接器”的“输入”,在附加依赖项添加:
OpenThreadsd.lib
osgd.lib
osgDBd.lib
osgUtild.lib
osgGAd.lib
osgViewerd.lib
osgTextd.lib
5、在HelloOSG.cpp中输入以下代码,Ctrl+F5运行,出现一头牛说明C++项目中配置成功。
#include "stdafx.h"
#include <osgViewer/Viewer>
#include <osgDB/ReadFile>
int main(int argc, char **argv)
{
osgViewer::Viewer viewer;
viewer.setSceneData(osgDB::readNodeFile("cow.osg"));
return viewer.run();
}
六、注意事项
1、VS安装时一定一定一定注意勾选Visual C++和Windows Software Development Kit(选择一个版本即可)与Debugging Tools for Windows。
2、想自己编译的话可以参考文首的链接,如果使用过程中出现“因缺少xxx.dll程序无法执行,重新安装后可能会解决这一问题”就说明没有编译完全。真的建议用已经编译好的。。太浪费时间和精力。