下载官方编译好的OSG库,Debug和Release都搞一下(我不知道VC++2017是不是对应VS2017,懂的说一下)
https://objexx.com/OpenSceneGraph.html
分别解压到不同目录(其实搞一个也行,不过分开比较容易区分)
下载官方测试(可选)
http://www.openscenegraph.org/index.php/download-section/data
添加环境变量到你解压的目录(这一步不是必要的)
新建一个windows控制台应用->右键项目属性->配置有两种Debug和Release
附加依赖项release | 附加依赖项debug |
对应release的lib文件下的库,用什么加什么,也可以全加上 | 对应debug的lib文件下的库,用什么加什么,也可以全加上 |
测试代码
#include <Windows.h>
#include <osgDB/Readfile>
#include <osgViewer/Viewer>
int main()
{
std::string path = "解压的data路径\\glider.osg";
osgViewer::Viewer viewer;
viewer.setSceneData(osgDB::readNodeFile(path));
viewer.realize();
viewer.run();
}
编译如果不通过,把bin目录下的所有文件全部拷到项目x64/release or debug文件夹下
提示缺少VCRUNTIME140_1D.DLL
解决方法:https://www.dll-files.com/ 搜索VCRUNTIME140_1D.DLL,复制到C:\Windows\SysWOW64跟system32目录下
包含头文件时VS不自动提示,而且打开代码没有高亮
原因:可能是官方编译的库包含目录不是.h文件而是纯文本文件(猜测)
解决方法:vs->工具->选项->文本编辑器->文件扩展名