开发环境:
OpenSceneGraph-3.6.5-VC2019-64-Debug
VS2019
补充说明:为了省事,直接用官方编译好的包。可以从OSG官网下载源代码,使用CMAKE编译,再用VS生成。
步骤描述
根据网上VS2019编译部署OSG的教程,随步骤进行部署。
- 新建c++控制台程序,打开项目属性,修改配置。
可执行目录对应OpenSceneGraph-3.6.5的bin目录,包含目录对应include,库目录对应lib
设置预处理器WIN32,不然无法识别openGL相关的部分,产生“ 变量 “GLenum” 不是类型名”报错信息
添加附加依赖(多余依赖,可以删除;我配置时,多了一个lib报错了)
osgd.lib
osgUtild.lib
osgGAd.lib
osgViewerd.lib
OpenThreadsd.lib
osgAnimationd.lib
osgDBd.lib
osgParticled.lib - 添加系统环境变量。
添加环境变量后,运行cpp代码
#include <osgViewer/Viewer>
#include <iostream>
int main()
{
std::cout << "Hello World!\n";
osg::ref_ptr<osgViewer::Viewer> viewer = new osgViewer::Viewer;
viewer->setUpViewInWindow(50, 50, 800, 600);
return viewer->run();
}
然后会报错,出现这个的原因是程序找不到dll文件。但已经将dll路径添加到系统环境变量了,不应出现才对,我就排查了下问题。
重启下VS2019就可以正常执行程序了,猜测是因为VS2019启动时就读取了环境变量,因此需要重启重新读取。