OSG+VS2013+Win7 环境搭建,osgvs2013

最近在学习虚拟现实,要使用OpenSceneGraph(OSG),但是网上找不到VS2013的搭建教程,好烦。。。

只能自己在vs2010的基础上,修改一些bug,最后成功搭建。

步骤一:材料准备

a) Osg源码

当前最新版:OpenSceneGraph的3.2.1.zip

下载链接:

http://www.osgchina.org/index.php?option=com_content&view=category&layout=blog&id=106&Itemid=478

b) Osg第三方库

3rdParty_VC13_x86_x64.zip

http://www.osgchina.org/index.php?option=com_content&view=article&id=108&Itemid=481

VisualStudio 2013 RTM (VC12)

c) 数据包

当前最新版:OpenSceneGraph-Data-3.0.0.zip

下载链接:

http://www.openscenegraph.org/downloads/stable_releases/OpenSceneGraph-3.0/data/OpenSceneGraph-Data-3.0.0.zip

d) 安装源码工具

cmake最新版即可

步骤二: 编译准备  

在E盘建立一个OSG的文件夹,然后其他文件如下放置: 
E:\OSG\OpenSceneGraph:源码解压后放于此 
E:\OSG\3rdParty:第三方依赖库解压后放于此 
E:\OSG\data:数据包解压后放于此。 

步骤三:安装源码 


  • 我用的cmake的绿色版,找到CMake -gui.exe ,运行。
  • b) 将源码OpenSceneGraph文件夹里头的CmakeLists.txt,拖到Cmake界面。

  • 点击Configure,选择Visual Studio 12(VS2013
  • finish后进行相关设置: 
    ACTUAL_3RDPARTY_DIR 值E:/OSG/3rdParty; 
    BUILD_OSG_EXAMPLES  :勾上 
    CMAKE_INSTALL_PREFIX :E:/OSG/OpenSceneGraph/; 
  • 点击Configure后,将Advanced打勾,将BUILD_MFC_ EXAMPLE设置为on,然后进行最后一次的Configure配置。 
  • 点击Generate,自此建构完成。 
步骤四:编译阶段 
a) 用VS2013打开OpenSceneGraph.sln(此文件在E:\OSG\OpenSceneGrap\build下), 
生成-批生成,对All_BUILD进行生成,选择(Debug和Release两个版本),这段编译时间是很长的,估计4-5个小时。 坑!弄了几次!
5.png  
b) 第1步完成后,再对INSTALL也进行相应生成编译。这段时间相应会短不少。 
6.png
  步骤五:数据转移 
在D盘新建OSG文件夹)
将E:\OSG\OpenSceneGraph下的bin,include,lib文件夹拷贝到D:\OSG下,将E:\OSG\data下的数据拷贝到D:\OSG\data下;这几个文件是OSG需要的。 
E:\OSG\OpenSceneGraph下的bin,include,lib文件夹拷贝到D:\OSG下
  将E:\OSG\data下的数据拷贝到D:\OSG\data下   步骤六:环境变量设置    对系统变量设置如下: 
OSG_FILE_PATH: D:\OSG\data 
PATH:D:\OSG\bin; 
可在命令行(CMD)进行测试osgversion,osglogo,osgviewer cow.osg。 

重点来了:如果这三个命令,哪个不好使,你就全盘搜相应的exe,比如osglogo.exe,看看在哪个路径,环境变量的路径里有木有。   不周六:新建OSG项目测试 
a) 在VS2013下新建WIN32控制台程序 
b) 添加一个cpp 
c) 输入以下代码: 

#include<osgViewer/Viewer> 
#include<osgDB/ReadFile> 
int main( int argc, char **argv ) 

osgViewer::Viewer viewer; 
viewer.setSceneData( osgDB::readNodeFile( "cow.osg" ) ); 
return viewer.run(); 

d)右键项目,选择“属性”,选择“VC++目录”,在包含目录添加:D:\OSG\include 
在库目录添加:D:\OSG\lib. 
8.png  
e) 打开项目属性的链接器,输入里,附加依赖项加上: 
OpenThreadsd.lib 
osgd.lib 
osgDBd.lib 
osgUtild.lib 
osgGAd.lib 
osgViewerd.lib 
osgTextd.lib 
f)运行,效果如下图: 
9.png  
 
注:部分摘自网上关于vs2010的配置   推荐个视频,vs2008的配置 http://www.tudou.com/programs/view/Tu3ZV8um0I0/

VS2013与VS2010的不同之处,也就是会出问题的地方:
  • error C2039:"max"不是"std"的成员:添加头文件#include <algorithm>

  • error C2678:二进制"":没有找到接受"std::istream"类型的左操作数的运算:
    directx.cpp这块代码
    if (fin.getline(buf, sizeof(buf))==0) {//提示到这一行
            OSG_WARN << "Failed to read DirectX header\n";
            return false;
        }
修改代码if (fin.getline(buf, sizeof(buf))==0) 为if (fin.getline(buf, sizeof(buf)).fail()) 

效果展示多图:数据包带的.osg的例子  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/432626.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ShardedJedisPool 中可用连接数的小bug

ShardedJedisPool中&#xff0c;returnBrokenResource() 及 returnResource() &#xff0c;为施放资源、关闭连接的方法&#xff0c;若重复调用&#xff0c;导致 _numActive 当前活动数一直递减&#xff0c;会出现负数的情况。 假如在一个方法中设置了三个jedis连接&#xff0c…

Linux设备树翻译计划

本文翻译自Device Tree Usage主页&#xff1a; http://devicetree.org/Device_Tree_Usage 此译文为本人原创&#xff0c;若要转载请注明&#xff01;Linux device tree的背景&#xff08;引用自宋宝华博客&#xff09;&#xff1a;Linus Torvalds在2011年3月17日的ARM Linux邮件…

像postman上传文件_90%的测试工程师是这样使用Postman做接口测试的……

postman介绍&测试准备postman介绍&#xff1a;postman是一个开源的接口测试工具&#xff0c;无论是做单个接口的测试还是整套测试脚本的拨测都非常方便。前期准备&#xff1a;测试前&#xff0c;需要安装好postman, 客户端版本跟插件版本都行&#xff0c;根据个人需要选择安…

浅析STL allocator

一般而言&#xff0c;我们习惯的 C 内存配置操作和释放操作是这样的&#xff1a; 1 class FOO{}; 2 FOO *pf new FOO; 3 delete pf; 我们看其中第二行和第三行&#xff0c;虽然都是只有一句&#xff0c;当是都完成了两个动作。但你 new 一个对象的时候两个动作是&#xff…

十六进制除法运算法则_苏教版数学七年级上册 微课视频 2.6 有理数的乘法与除法(1)...

第一章《数学与我们同行》视频讲解 同步练习2.1 《正数与负数》2.2 有理数与无理数2.3 数轴2.4 绝对值与相反数(1)2.4 绝对值与相反数(2)2.5 有理数的加法与减法(1)2.5 有理数的加法与减法(2)2.6 有理数的乘法与除法(1)七、有理数的乘除法1.有理数的乘法法则法则一&#xff1…

为自己尝试写点东西吧,程序员们!(转)

2012年秋季&#xff0c;正是大伙急于找实习工作的时候。尝试出去找过很多实习单位&#xff0c;但是基本上都是不靠谱&#xff0c;然后就是我自己能力的不足。所以找工作之路也是异常艰辛和曲折。 学了那么久的Java&#xff0c;做过那么多的小练习&#xff0c;但是说实话&#x…

a5d27 emmc启动 修改1

a5d27第1级bootloader是从sdhc0(emmc)加载还是从sdhc1(sd卡)加载&#xff0c; 只需要修改board/sama5d2_xplained文件即可 修改CONFIG_SDHC* y 这个宏定义在board/sama5d2_xplained.c中的void at91_sdhc_hw_init(void)函数实现 从上面代码可以看出第1级的bootloader只支持一…

矩阵每一行重复_【剑指offer】65 矩阵中的路径

- 题目描述请设计一个函数&#xff0c;用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始&#xff0c;每一步可以在矩阵中向左&#xff0c;向右&#xff0c;向上&#xff0c;向下移动一个格子。如果一条路径经过了矩阵中的某一…

什么是单工、半双工和双工通信?有哪些实际应用的例子

根据数据信息在传输线上的传送方向&#xff0c;数据通信方式分为单工通信 半双工通信和全双工通信3种。 1&#xff09;单工通信 数据信息在通信线上始终向一个方向传输。数据信息永远从发送端传输到接收端。列如&#xff0c;广播电视就是单工传输方式&#xff0c;收音机电视机只…

mysql5.464位下载_MySQL Front 64位

MySQL-Front是一款实用的MYSQL数据库管理工具&#xff0c;软件自带了简体中文语言&#xff0c;与mysql数据库连接后就可以对其地蚝各类管理操作了&#xff0c;比如对域进行编辑、增加和删除&#xff0c;执行sql脚本或者导出数据库等操作&#xff0c;除此之外还可以将数据库保存…

a5d27 emmc启动 修改2

修改第2级bootloader的include/configs/sama5d2_xplained.h文件 #define FAT_ENV_DEVICE_AND_PART "0" #define CONFIG_BOOTCOMMAND "fatload mmc 0:1 0x21000000 at91-sama5d2_xplained.dtb; " \ "fatload mmc 0:1 0x22000000 zImage; " \ &q…

监听APP升级广播处理

当旧版本的用户升级新版本的时候需要重新设定一些值处理,这时候需要监听升级版本的广播 <receiver android:name".OnUpgradeReceiver"><intent-filter><action android:name"android.intent.action.PACKAGE_REPLACED" /><data androi…

mysql linux 优化_mysql在linux中内核优化

linux内核优化,直接修改/etc/sysctl.conf执行 sysctl -p立即生效# 每个端口监听队列最大长度net.core.somaxconn 65535# 增加系统文件描述符限制fs.file-max 65535# 当网络接受速率大于内核处理速率时&#xff0c;允许发送到队列中的包数目net.core.netdev_max_backlog 6553…

a5d27 第1级bootloader启动问题

drivers/sdhc.c里的 static int sdhc_set_clock(struct sd_card *sdcard, unsigned int clock) 这段代码总是会超时&#xff0c;造成启动失败。 log如下图

LDA-Latent Dirichlet Allocation 学习笔记

以下内容主要基于《Latent Dirichlet Allocation》,JMLR-2003一文&#xff0c;另加入了一些自己的理解,刚开始了解&#xff0c;有不对的还请各位指正。 LDA-Latent Dirichlet Allocation JMLR-2003 摘要&#xff1a;本文讨论的LDA是对于离散数据集&#xff0c;如文本集&#xf…

A5D2应用程序无法启动问题

给/lib/ld-2.22.so文件&#xff0c;建立名称为ld-linux.so.3的软连接即可。 或者编译程序的时候&#xff0c;用-s选项&#xff0c;将库文件编译进程序

mysql 表上限_mysql 数据库表的上限

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云数据库专家保驾护航&#xff0c;为用户…

app 图标规格参考表

转自&#xff1a;http://www.cocoachina.com/appstore/top/2012/1105/5031.html 像我一样记不住iOS应用图标像素尺寸的开发者不在少数&#xff0c;我经常需要查询不同设备上的应用尺寸&#xff0c;为了方便自己、方便大家&#xff0c;我制作了下面的图表供大家参考。 iPhone、i…

visual studio 的各个版本下载地址

Microsoft Visual Studio 6.0 下载&#xff1a;英文版360云盘下载&#xff1a; http://l11.yunpan.cn/lk/sVeBLC3bhumrI英文版115网盘下载&#xff1a; http://115.com/file/bew2qrau英文版迅雷下载&#xff1a; http://61.138.140.18/download/jlste_nw/vs6en.isoFTP下载&…

mysql数据表内容_MySQL数据表

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云数据库专家保驾护航&#xff0c;为用户…