原文链接:VS2019编译OSG3.7.0+OSGEarth3.3+OSGQt-CSDN博客
工具与环境
这里使用的 cmake-3.18.3 、 VS2019 和 Qt5.15.2 进行编译。
一、编译OSG3.7.0
1、下载
下载不多赘述,在github上下master版本就是3.7.0版本。
另外还需要 3rdParty_VS2017_v141_x64_V11_full 和 OpenSceneGraph-Data-3.4.0 可以在OSG英文官网中下载到。
2、cmake编译
将OSG3.7.0源码、3rdParty_VS2017_v141_x64_V11_full、OpenSceneGraph-Data-3.4.0解压到合适的目录,并新建一个文件夹用于保存cmake生成的项目。如下图,这里我放在了同级目录下。
然后打开cmake,在最上面第一栏选择OSG源码中CMakeLists文件所在文件夹的路径,第二栏选择上面自己新建的文件夹路径,然后点击Configure按钮,会弹出如下图子界面,第一栏选择VS2019,第二栏选择x64点击Finish按钮,cmake开始加载。
等待加载完成,会显示一片红,并在下面的log中显示一些库找不到。
点击Ungrouped Entries项展开,在第一项ACTUAL_3RDPARTY_DIR中选择3rdParty_VS2017_v141_x64_V11_full中的x64文件夹路径。
点击BUILD项展开,勾选BUILD_OSG_EXAMPLES项。
点击CMAKE项展开,将CMAKE_INSTALL_PREFIX项的路径修改为最上面创建的文件夹中的OpenSceneGraph文件夹(目录下没有这个文件夹没关系,INSTALL时会自动创建)。
点击OPENGL项展开,修改OPENGL_HEADER1项为
#include <GL/glcorearb.h>,修改OPENGL_PROFILE项为GL3。
注意: OSGEarth3.3版本必须要OSG支持GL3,所以需要下载另外的GL API文件。
下载地址:
https://github.com/KhronosGroup/OpenGL-Registry
https://github.com/KhronosGroup/EGL-Registry
将第一个的GL文件夹和第二个的KHR文件夹复制到OSG源码的include目录下。
点击OSG项展开,
勾选
OSG_GL3_AVAILABLE
取消勾选
OSG_GL1_AVAILABLE
OSG_GL2_AVAILABLE
OSG_GLES1_AVAILABLE
OSG_GLES2_AVAILABLE
OSG_GL_DISPLAYLISTS_AVAILABLE
OSG_GL_FIXED_FUNCTION_AVAILABLE
OSG_GL_MATRICES_AVAILABLE
OSG_GL_VERTEX_ARRAY_