osg3.6.5+oe2.10.2+osgqt编译

编译环境:win11 + vs2013 + 64位 + qt5.6.3 + osg3.6.5 + oe2.10.2 + osgqt当前最新版本

编译工具:cmake-3.24.1

第三方库:3rdParty_VS2013.5_v120_x64_V10_full.7z

Qt:下载5.6.3版本直接安装

osgqt下载地址:https://github.com/openscenegraph/osgQt

编译osg:

1. 通过cmake添加CMAKE_PREFIX_PATH中添加第三方库目录;

2. 注释掉第三方库目录中include/zconf.h中第454行的#include<unistd.h>

cmake生成,通过vs2013编译即可.
 

编译oe:

1. cmake配置OSG_DIR为osg的安装目录;

2. cmake添加CMAKE_PREFIX_PATH中添加第三方库目录;

3. cmake中的GDAL_LIBRARY值修改为gdal_i.lib;

cmake生成,通过vs2013编译即可.

编译osgqt:

1. cmake配置OSG_DIR为osg的安装目录;

2. (解决moc文件没有包含对应的头文件问题)camke配置后,去对应的build目录下.\src\osgQOpenGL\__\__include\osgQOpenGL\目录下修改三个文件如下:

a. 修改moc_osgQOpenGLWidget.cpp_parameters中第10行添加-f<osgQOpenGL/osgQOpenGLWidget>
b. 修改moc_osgQOpenGLWindow.cpp_parameters中第10行添加-f<osgQOpenGL/osgQOpenGLWindow>
c. 修改moc_OSGRenderer.cpp_parameters中第10行添加-f<osgQOpenGL/OSGRenderer>

3. (解决集成到qt界面中被拉宽问题)修改源码src\osgQOpenGL\osgQOpenGLWidget.cpp文件。在此方中的resizeGL函数中最后添加两行代码(此文件的第59行):

if(0 > w || 0 >= h){ return; }
osg::Camera *camera = m_renderer->getCamera();
if(!camera){ return; }

double fovy, ar, zNear, zFar;
if(!camera->getProjectionMatrixAsPerspective(fovy, ar, zNear, zFar)){ return; }
ar = (1.0 * w) / (1.0 * h); 
camera->setProjectionMatrixAsPerspective(fovy, ar, zNear, zFar);

 

camke生成通过vs2013编译即可.

问题:osgQt编译的第二步,谁更好的解决方法,请赐教!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值