OSG库3.6+vs2015 - cmake编译、测试

1 数据准备

1.0 环境准备

本机使用的环境是vs2015

1.1使用的安装包

  • OSG源码:OpenSceneGraph3.6.3
  • 打包好的三方库:这里直接用的打包好的三方库,并未使用三方库的源码进行编译。
  • OpenSceneGraph-Data-3.0.0

地址:SuperKX/OpenSceneGraph: osg库配置 (github.com)https://github.com/SuperKX/OpenSceneGraph

1.2 创建工程文件

建立文件夹,如“OSG“,将OSG源码、打包好的三方库、数据data放入并解压,如下图:

2 编OSG库

cmake编译osg库,主要修改内容为:三方库中各个库的地址,以及编译后OSG库的生成路径CMAKE_INSTALL_PREFIX,如下图:

3 工程生成

如下图所示,分别在release版本和debug版本下,对ALL_BUILD和INSTALL先后生成。生成INSTALL的时候注意将debug和release版本分别放入不同文件夹下,否则会覆盖掉。

如果上一步的库地址配置正确,这里应该不会报错。若报错某个库找不到,可以查看下cmake中对应库的地址是否配置正确。

生成后会产生如下结构:

分别对release和debug版本打包后:

现在的库可以直接调用了。

4 测试

新建一个工程

4.1 cmake书写

cmake_minimum_required(VERSION 2.8)
SET(EXE_NAME OSGView)

ADD_EXECUTABLE(${EXE_NAME} main.cpp )

############################### 包含目录 #####################################
include_directories( E:/OSG/OpenSceneGraph-3.6/install/X64_Debug/include)  #osg库

############################### 添加链接库 #####################################
#设置osg库
set(OSG_LIB_RELEASE E:/OSG/OpenSceneGraph-3.6/install/X64_Release/lib )  #当前只配置了releases版本
set(OSG_LIB_DEBUG E:/OSG/OpenSceneGraph-3.6/install/X64_Debug/lib )
set(OSG_LIB
	optimized ${OSG_LIB_RELEASE}/osgDB.lib
	optimized ${OSG_LIB_RELEASE}/osgViewer.lib
	debug ${OSG_LIB_DEBUG}/osgDBd.lib
	debug ${OSG_LIB_DEBUG}/osgViewerd.lib
)
target_link_libraries(${EXE_NAME} ${OSG_LIB})

set_target_properties(${EXE_NAME} PROPERTIES OUTPUT_NAME ${EXE_NAME}) #生成运行文件名

4.2 main函数

如下所示,找到测试用的osg文件放入相应环境下。

#include <Windows.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();
}

4.3 编译生成运行

注意,这里我的工程是OSGView.exe,运行会报错需要很多dll。这里直接将需要运行的osg等文件、及生成的exe放入到之前对应release/debug的OSG生成的bin文件中,双击运行即可。

需要注意的是,需要把1.1中的data文件夹中的cow.osg及相应的reflect.rgb文件(纹理)放到运行目录下。若没有reflect文件可能是白模。

注意:

1、需要调试代码的时候,将相应dll的pdb文件一并放到运行目录下。可以跳转到OSG库的源码中。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值