osg以插件方式来扩展、加载第三方库,如果这些库在程序运行时找不到,就会报类似如下的错误:(这里以jpeg为例):

下面以jpeg为例,讲解jpeg插件的编译方法,其它库和这步骤类似。

  1. 先从库的官网下载你需要的库。如:从 https://jpeg.org/   下载jpeg的库文件,注意:有的是exe安装包,有的zip等压缩文件。安装包的需要安装,安装后才能有相应的lib、dll文件,如下是我安装之后的目录内容:

2:打开cmake-gui,设置好osg源码目录,二进制文件生成存放目录,如果不懂这是什么意思或不知道怎么设置,请百度下osg源码怎么编译,一大堆文章可以参考。

在Search编辑框输入jpeg过滤下,出现了只有jpeg的库,设置好JPEG_LIBRARY即jpeg.lib所在路径,即步骤1中的jpeg.lib的绝对路径C:\libjpeg-turbo64\lib\jpeg.lib,

设置好JPEG_LIBRARY_DEBUG即debug版本的jpeg.lib库文件,设置好JPEG_LIBRARY_RELEASE即RELEAE版本的jpeg.lib库文件。有的库分为debug和releae版本,但jpeg没有区分,debug和releae版本都是C:\libjpeg-turbo64\lib\jpeg.lib。设置好jpeg头文件的目录,即步骤1中的C:\libjpeg-turbo64\include,如下:

依次单击左下角的“configure”、"generate"之后就会生成vs的工程文件,单击“OPen Project” 按钮,启动vs(注意:本机必须安装了vs才行)

编译生成的Plugins jpeg工程,会在D:\osg\build\bin\osgPlugins-3.4.1\目录下(这个目录随你在CMake-gui中的二进制文件输出目录而定)生成osgdb_jpeg.dll。

将C:\libjpeg-turbo64\bin目录下的所有dll及刚生成的osgdb_jpeg.dll拷贝到你的应用程序工程目录下(其实这里只需要拷贝jpeg62.dll就行,但为了怕相关的依赖库缺失,建议都拷贝过去),运行程序,不会再报找不到插件的错误,程序能起来,如下:

osg第三方插件的编译方法(以jpeg插件来讲解)相关推荐

  1. libcurl库编译方法

    一.libcurl简介 libcurl作为是一个多协议的便于客户端使用的URL传输库,基于C语言,提供C语言的API接口,支持DICT, FILE, FTP, FTPS, Gopher, HTTP, ...

  2. 所谓 jQuery 插件,怎样开发一个 jQuery 插件

    简单来说,所谓 jQuery 插件就是扩展在 jQuery 原型对象上的一个方法.通过扩展 jQuery 对象,每次调用 jQuery 对象的时候,对象里面都包含了我们自己所添加的那个方法. 一般插件 ...

  3. ionic3.0--angular4.0 引入第三方插件库的方法

    ionic3.0 引入第三方插件 (swiper),方法很多,现详细说明下官方推荐(typings)做法. 1.全局安装Typings 1. npm install -g typings  2.搜索你 ...

  4. osg编译方法(CMake_gui的使用)

    osg编译方法(CMake_gui的使用) 1.资料清单 2.配置环境变量 3.配置CMake 4.编译工程 5.测试运行 6.经验避坑 1.资料清单 序号 名称 1 第三方库 2 qt库 3 osg ...

  5. php 插件加载不出来了,织梦第三方响应式后台辅助插件不显示新模块和插件的解决方法...

    网络上很多织梦后台模板看起来挺好看但是很多地方写的不够智能完善,都是织梦后台模板左侧辅助插件写死,明明上传和安装了新的模块和插件,但是辅助插件选项里还是没有显示. 今天这篇教程 ,我们针对T10模板不 ...

  6. 3D进阶之OSG:从VS2019编译osgEarth开始

    3D库比较多,一般学习的有PCL的VTK,库比较大,集成了相当多不错的算法,对开发水平是个考验:OGRE由于其插件式架构,使得在机器人开发方面应用广泛:相对而言,OSG比较小众,可以用来构建模拟仿真的 ...

  7. 通过自定义Gradle插件修改编译后的class文件

    我的简书同步发布:通过自定义Gradle插件修改编译后的class文件 转载请注明出处:[huachao1001的专栏:http://blog.csdn.net/huachao1001] 或许你会觉得 ...

  8. vim 插件_Vim自动生成tags插件vim-gutentag使用方法

    在常规的使用ctags生成tag标签文件实现跳转的方式下,每次需要更新tags文件时都需要手工运行 ctags -R 生成当前项目所有源文件对应的tag标签文件. 当工程文件多.文件更新频繁时,上述生 ...

  9. 强大的.NET反编译工具Reflector及插件(转载)

    刚接触.net 时就听说 Reflector这个强大反编译工具呢,只是一直没有去使用他. 本来本人对新鲜事就非常有兴趣,听他这么一说.决定试一试这个传说中的工具. 今天有空就用了一下. 我用的版本是4 ...

最新文章

  1. java automapper 使用_19.AutoMapper 之开放式泛型(Open Generics)
  2. anaconda更换镜像源
  3. MySQL性能优化的21条最佳经验【转】
  4. python获取已打开网页的html,【已解决】Python的BeautifulSoup去实现提取带tag的HTML网页主体内容...
  5. Vmware中安装Ubuntu的步骤
  6. 性能诊断利器 JProfiler 快速入门和最佳实践
  7. elasticsearch_spring-data-elasticsearch 快速入门-Spring Boot+Elasticsearch
  8. 【GIS开发者】(GISDeveloper) 11-14期 提供下载
  9. “华为杯”第十七届中国研究生数学建模竞赛2020 —— B题
  10. 使用librtmp实现本地推流
  11. 04、CONSTANT-ROUND CZK PROOFS for NP--Alon Rosen[对于NP的常数轮CZK证明]
  12. 韩信点兵python编程_韩信点兵——编制计算机程序解决问题
  13. 西瓜书习题4.3 决策树
  14. 如何从电脑内转播声音
  15. 【转载】华为的“山海经”军团——保证华为四个业务主线不被“一掐就死”
  16. echarts饼状图的使用
  17. python cv 图片转视频
  18. 关于SQL的学习记录(三、数据表)
  19. 新兴IT企业特斯拉(十)——太空探索、超级高铁和地下隧道
  20. SpringBoot 集成 Spring Data Mongodb 操作 MongoDB 详解

热门文章

  1. 电机驱动TB6612FNG全网断货,可替代方案来了,文末送模块!
  2. java百度地图添加标注_调取百度地图接口,实现取自己的实时位置,然后可以在百度地图上添加信息标注...
  3. mysql connect返回值_mysql_connect
  4. 线程自动退出_什么是Java的守护线程?
  5. 同时启动多个Tomcat 和 Linux部署多个tomcat
  6. java堆内存 和栈内存
  7. Bootloader之uBoot简介(转)
  8. 【ADO.NET基础知识】SqlConnection、command、DataSet 、DataTable、dataAdapter
  9. 九大排序算法Java实现
  10. 使用cocoaPods一键集成第三方登录(新浪微博,qq,微信)