osgQt库在osg3.4以后就给取消了,现在一般使用osgQOpenGL库替代,但是网上能搜到的教程里,常见的使用方法,还是以osgQt居多,因此,逼得我只能自己去编译一套osgQt的库文件。有如下几个注意点。
- 首先是下载osgQt的地址,github上的osgQt实际上是osgQOpenGL的代码,我们要找osgQt的源码。
- 所使用的环境是ubuntu20.04,x86,Qt,qtCreator,系统自带的gcc和g++编译器。
- 注意,生成动态库可能会不太好用,最好生成静态库,即libosgQt.a文件。
- 在最后导入头文件时,记得将*.h的后缀去掉。比如将头文件放至
/usr/local/include
,将原来的GraphicsWindowQt.h修改为GraphicsWindowQt,即去掉后缀。
具体步骤如下。
1.创建一个生成库文件的工程文件
- 选择创建C++ Library。
- 输入用户名,为了避免麻烦,就直接用osgQt的名称。
- 选择生成静态库
2、生成osgQt静态库文件
- 删除osgQt.cpp文件。
- 修改osgQt.h文件,并且导入之前下载的osgQt的三部分代码,修改内容及导入内容如下。
- 点击构建,则在构建目录下,会生成libosgQt.a文件,这是一个静态库文件
3、在Qt中使用库文件
- 将libosgQt.a移动至
/usr/local/lib
目录下。 - 在
/usr/local/include
目录下创建osgQt文件夹,将osgQt的三个头文件,GraphicsWindowQt.h,QGraphicsViewAdapter.h,QWidgetImage.h,移动至该文件夹,并去掉上述三个头文件的后缀。 - 在Qt中调用,只需要使用比如,
#include <osgQt/GraphicsWindowQt>
即可调用。
最后,放上osgQt的源码,osgQt源码下载地址