osg编译方法(CMake_gui的使用)
osg编译方法(CMake_gui的使用)
- 1、资料清单
- 2、配置环境变量
- 3、配置CMake
- 4、编译工程
- 5、测试运行
- 6、经验避坑
1、资料清单
序号 | 名称 |
---|---|
1 | 第三方库 |
2 | qt库 |
3 | osg源码 |
4 | Data文件夹 |
2、配置环境变量
在用户变量中,添加环境变量:
新建OSG_FILE_PATH, 变量值为Data目录的路径
例如:F:\OSG\Train_2015\Data;
新建path变量,值为第三方类库下的qt和bin路径,
例如:
E:\lxf\srdpartyX64\VS15\bin
C:\QT\QT5.9.3\MSVC2015_64\bin
注意:路径中不可包含中文!!
3、配置CMake
- 打开CMake软件、
- 填写osg源码路径;
- 填写生成的路径; ( 两个路径不能相同 )
- 勾选Grouped、Advanced
点击Configure,弹出对话框,选择VS对应版本
接下来需要修改配置(暂时无图,暂时用文字描述)
1、设置三方库路径
- Ungrouped Entries ——> ACTUAL_3RDPARTY_DIR
- USE_3RDPARTY_BIN -----> √
2、构建osg例子
- BUILD ---->BUILD_OSG_EXAMPLES ----> √
3、设置osg安装路径 ( 新建路径 )
- CMAKE ----> CMAKE_INSTALL_PREFIX
先看最后面的 “经验必坑”,再进行第四步!!!
4、点击 Configure 、 Generate
4、编译工程
用VS打开,运行ALL_BUILD 和 INSTALL
5、测试运行
配置环境变量
path osg安装路径/bin
在cmd窗口输入osgViewer cow.osg
出来一头牛,算是编译成功!!!
6、经验避坑
1、FBX 三个的内容都去掉,容易报错
2、TIFF 四个内容都去掉
3、GDAL ----> GDAL_LIBRARY …gdal_i.lib
( gdal在windows后面要加 i ), 否则会编译失败
4、最好勾选上 WIN32 ----> WIN32_USE_MP
( 多线程同步, 速度快 )
osg编译方法(CMake_gui的使用)相关推荐
- osg第三方插件的编译方法(以jpeg插件来讲解)
osg以插件方式来扩展.加载第三方库,如果这些库在程序运行时找不到,就会报类似如下的错误:(这里以jpeg为例): 下面以jpeg为例,讲解jpeg插件的编译方法,其它库和这步骤类似. 先从库的官网下 ...
- uboot中添加新型号步骤以及编译方法
一.添加新型号的支持: 1.在board.cfg 添加需要支持的型号: 2.在include/configs下添加支持新型号的.h文件: 二.uboot编译方法: 1.配置编译的环境变量: expor ...
- android+包+反编译,简单的Android之apk包反编译方法
网上相关的文章一大堆了,我只是总结下自己的反编译方法和工具 工具下载地址: 下载上面的三个工具的压缩包 Apktool_v1.5.1_CHS_By_b-sf.rar dex2jar.zip jd-gu ...
- ATF(TF-A)的编译方法
官网给出的编译方法: make PLAT=fvp BL33=/bl33.bin fip 针对qemu_v8平台的编译,真实情况是这样的: CROSS_COMPILE="/usr/bin/cc ...
- 2019编译ffepeg vs_2020/5-Win10下ffmpeg最简编译方法
前期准备:Windows10+WSL,WSL我在Windows商店下载的Ubuntu18 VisualStudio2019,其他版本应该也可以试试 ffmpeg新版源码,我的是4.0 对,就这么少.很 ...
- Linux编译soci库,Soci库linux下的编译方法
Soci库的linux编译方法 1.下载soci库源码 2.在目标机器上配置数据库环境 以oracle为例:(其他数据库只需要简单安装客户端即可) A)下载oracle客户端安装包 oracle-in ...
- MINIGUI编译方法【原创】
编译安装minigui:共有libminigui-2.0.4-linux,minigui-res-2.0.4,mde-2.0.4三个包, libminigui-2.0.4-<os>.tar ...
- 【java】RMI教程:入门与编译方法 远程
1.概述 转载:RMI教程:入门与编译方法 2.分布式对象和RMI 分布式对象技术主要是在分布式异构环境下简历应用系统框架和对象构件.在应用系统框架的支撑下,开发者可以将软件功能封装为更易于管理和使用 ...
- Linux内核的编译方法及如何往内核中增加程序
2019独角兽企业重金招聘Python工程师标准>>> ARM Linux的系统调用实现原理是采用swi软中断从用户(usr)模式陷入管理模式(svc). 内核空间和用户空间这两个名 ...
最新文章
- 为什么MobileNet的参数这么少
- NBT:Rob Knight-微生物组数据降维新方法
- python高斯分布训练_Python画图高斯分布的示例
- 什么是分布式锁及正确使用redis实现分布式锁
- python图像锐化_Python图像处理介绍--图像模糊与锐化
- B9.流行的框架与新技术
- 用户扫描二维码进入公众号后自动发送指定消息_wetool的封杀、企业微信的崛起,我们要怎么利用企业微信进行用户增长?...
- python序列操作_序列操作
- 如何使用 Cloud Insight SDK 实现 Druid 监控?
- 编程一年来的疑惑和思考
- 游戏开发之拷贝构造函数,即复制构造函数(explicit关键字及拷贝构造函数的调用时机)(C++基础)
- Linux--内核Uevent事件机制 与 Input子系统
- 从雷声谈云层中的电能
- Matpower疑惑解答
- 超市管理系统软件测试用例图,《天天超市管理系统》所有模块测试用例集.doc...
- 【MapReduce】猫眼电影数据库传输数据
- python读文件的方法open,file,with open
- 自动光圈及P-IRIS原理
- 计算机创造奇迹的英语作文,大学英语作文:创造奇迹-Creating-Miracle.docx
- Oracle里default什么意思,ORACLE中默认值default的使用方法