一、編譯OSG
下載OSG源碼,使用qtceator打開源碼第一層的cmakelist.txt,然后選擇自己使用的編譯器,直接編譯(也可以修改CMAKELIST,將編譯結(jié)果輸出到對應(yīng)的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就可以了,只是取一個指針地址當(dāng)作圖片名的后綴,改了編譯器能編譯就可以了
拷貝輸出結(jié)果
編譯成功后用.dll和.lib找到所有的動態(tài)庫和lib,然后按OSG的結(jié)構(gòu)目錄拷貝到一個新建的目錄中

osg庫的結(jié)構(gòu)
結(jié)果目錄說明
1.bin目錄下面有個插件的目錄

image.png
拷貝dll的時候,注意分開拷貝插件的dll到插件目錄
2.include目錄下編譯的時候報錯,找不到osg/Config,把OSG編譯之后輸出目錄中的include文件夾與源碼中的include合并在一起,就OK了
3.lib目錄沒有什么多說的,直接找到所有LIB拷貝進來就可以了
二、QT使用OSG
- 使用也沒什么特別的,就是按網(wǎng)上的pro配置方法,把OSG的lib和includepath配置好就可以了,注意一點就是,所有用到的OSG的dll都需要拷貝到執(zhí)行目錄
-
我這個配置文件是vs2019的qt插件轉(zhuǎn)到pro的,自己需要添加使用的QT模塊,includepath,還有就是libs的路徑要弄對
pro配置文件
踩坑1:QTCreator工程目錄如果拷貝到其他目錄,他的工作目錄還是原來的,這個時候最好刪除掉.user文件,然后重新用qtcreator打開,這樣子重新配置一下就好

