一、编译OSG
下载OSG源码,使用qtceator打开源码第一层的cmakelist.txt,然后选择自己使用的编译器,直接编译(也可以修改CMAKELIST,将编译结果输出到对应的bin和lib,我对cmakelist不熟悉,就懒得去配置,mingw编译输出文件目录就是正确的,debug版本的库编译会默认在各自的目录下面)
使用MinGW编译时候遇到报错
- 报错信息:
osgPlugins\osgjs\WriteVisitor.cpp:228: error: cast from 'osg::Image*' to 'long int' loses precision [-fpermissive] -
报错位置
把long int改成long long就可以了,只是取一个指针地址当作图片名的后缀,改了编译器能编译就可以了
拷贝输出结果
编译成功后用.dll和.lib找到所有的动态库和lib,然后按OSG的结构目录拷贝到一个新建的目录中
结果目录说明
1.bin目录下面有个插件的目录
拷贝dll的时候,注意分开拷贝插件的dll到插件目录
2.include目录下编译的时候报错,找不到osg/Config,把OSG编译之后输出目录中的include文件夹与源码中的include合并在一起,就OK了
3.lib目录没有什么多说的,直接找到所有LIB拷贝进来就可以了
二、QT使用OSG
- 使用也没什么特别的,就是按网上的pro配置方法,把OSG的lib和includepath配置好就可以了,注意一点就是,所有用到的OSG的dll都需要拷贝到执行目录
-
我这个配置文件是vs2019的qt插件转到pro的,自己需要添加使用的QT模块,includepath,还有就是libs的路径要弄对
踩坑1:QTCreator工程目录如果拷贝到其他目录,他的工作目录还是原来的,这个时候最好删除掉.user文件,然后重新用qtcreator打开,这样子重新配置一下就好