别再看别的OSG配置教程了,最全的都在这儿了!—— VisualStudio2017+QT5.14.2+OSG3.6.4下载编译

在看本教程之前,首先保证你的环境是VS2017QT5.14.2OSG3.6.4!!!!!!!!!!!!
在看本教程之前,首先保证你的环境是VS2017QT5.14.2OSG3.6.4!!!!!!!!!!!!
在看本教程之前,首先保证你的环境是VS2017QT5.14.2OSG3.6.4!!!!!!!!!!!!
在看本教程之前,首先保证你的环境是VS2017QT5.14.2OSG3.6.4!!!!!!!!!!!!
好了,重要的事情说了四遍。。。。。。下面是本文中所用到的所有软件的下载链接,然后是合集包下载地址。

资源下载

VS2017下载地址

VS2017

QT5.14.2下载地址

QT 5.14.2

OSG 3.6.4下载地址

OSG 3.6.4 源码
OSG 3.6.4 对应的第三方库
可选的OSG 3.6.4的数据包

CMAKE 下载地址

CMAKE(点击直接下载)

网盘地址

合集包下载

正文开始

1 软件安装

1.1 VS 2017的安装

VS 2017 最好用专业版,因为笔者VS 2017用的专业版,不知道社区版会不会出问题,所以建议读者安装VS 2017专业版。
VS 2017 专业版的安装过程再此不再赘述,只是这里需要提醒一点:
安装完VS 2017之后, 在win10的 控制面板-程序-卸载 中找到 Windows 10 Software Development Kits, 右键点击选择更改, 在弹出的界面中选择更改,然后点选 debugger tools
这一步是为了后面QT 在选择编译器的时候能自动检测出MSVC 2017编译器。

1.2 QT 5.14.2 的安装

QT的安装没啥好说的,只在选择安装内容的时候,把所有的东西都勾选上,这肯定没错。

1.3 CMAKE 的安装

CMAKE的安装就更没有什么好说的了,一路下一步就行。安装完了会在桌面创建一个cmake的快捷方式,以后用的时候直接打开这个快捷方式就行。

2 编译OSG

这一步最难,很多人就是在这一步出问题,所以一定要小心,严格按本教程来!!!
这一步最难,很多人就是在这一步出问题,所以一定要小心,严格按本教程来!!!
这一步最难,很多人就是在这一步出问题,所以一定要小心,严格按本教程来!!!
要想在QT 里使用OSG,首先就是要编译OSG源码,使用不同的编译器生成的LIB库不一定具有通用性。QT里通过导入编译OSG源码生成的 lib 库来使用OSG,因此编译器的选择十分重要。
QT 里常用的编译器无非就那几个,如:MSVC 2015, MSVC 2017,MinGW等。MinGW编译OSG笔者也尝试过,但由于各种各样的原因而无法使用。因此最后选择MSVC 2017。
编译过程分为如下几步:

2.1 OSG, OSG 第三方库的解压

OSG源码及第三方库下载之后解压在这里插入图片描述
如图中所示,笔者在D盘创建了一个OSG文件夹,里面有OSG源码压缩包和第三方库压缩包。解压之后也放在该目录下。

2.2 使用CMake软件生成VS项目

接着打开OSG源码文件夹,该目录下有一个CMakeLists.txt文件。打开该文件,添加如下代码段:

set(DESIRED_QT_VERSION "5" CACHE STRING "")
set(CMAKE_PREFIX_PATH "D:/Qt/5.14.2/msvc2017_64" CACHE PATH "")

笔者的CMakeLists.txt文件如下:
在这里插入图片描述
添加这两行代码之后,打开CMake软件。软件打开截图如下:
在这里插入图片描述
将OSG源码文件夹下的CMakeLists.txt直接拖到Cmake软件里,结果如下图:
在这里插入图片描述
修改生成VS项目文件的文件夹,笔者这里如下图:
在这里插入图片描述
CMake中这两个文件夹设置好了之后点击configure按钮,会弹出选择编译器的窗口,如下图:
在这里插入图片描述
这两项一定要选对!!!!!!!!!!, 然后点击finish,会出现如下界面:
在这里插入图片描述
上述都设置好了再点Configure,界面上还是会出现很多红的,如下:
在这里插入图片描述
这些红的不用管,继续点Configure,这些红的就消失了,接着按下图操作:
在这里插入图片描述
Configure点击之后没有红色的选项,此时点击Generate按钮。会出现如下图的样子:
在这里插入图片描述
这一步结束之后,回到OSG文件夹,查看你选择生成VS项目文件的文件夹。笔者这里是OSGSourceCode_BUILD_2ND。如下图:
编译之后生成VS项目文件的文件夹
在这个文件中,双击OpenSceneGraph.sln打开,这时候会打开我们安装好的VS 2017。在VS 2017中会出现如下界面:
在这里插入图片描述
这就是整个VS项目。然后最慢的一步到了。

2.3 编译生成OSG的LIB库

如下图所示一步步操作:

  1. 右键解决方案,选择批生成。
    在这里插入图片描述
  2. 在弹出的界面勾选如下图两项:
    在这里插入图片描述
    点击“生成”之后,就开始了漫长的编译。这个过程时间长短根据机器配置而定,笔者编译一次基本两个多小时。

这一步结束之后这个教程也就快结束了。

3 测试OSG是否可用

打开QT, 新建项目,选择编译器时,请选择MSVC 2017 64位
然后导入需要的lib库,输入如下测试代码:

#include <QCoreApplication>

#include <osgViewer/Viewer>
#include <osgDB/ReadFile>

using namespace osg;
using namespace osgViewer;
using namespace osgDB;

int main(int argc, char *argv[])
{
    
    
    QCoreApplication a(argc, argv);

    ref_ptr<Viewer> viewer = new Viewer;
    viewer->setSceneData(readNodeFile("D:/OSG/OSGData/cow.osg"));
    return viewer->run();
}

代码中的readNodeFile中的路径改成你自己的数据的路径。
运行之后出现如下界面就说明安装成功:
在这里插入图片描述

总结

OSG的编译过程很复杂,读者在根据本教程来编译OSG的时候一定要细心。
但哪怕再细心也可能出现一些不明觉厉的错误,导致编译失败。这时候别慌,慢慢来。实在解决不了,加我QQ:805930931。(加了我也不一定能解决。-.-)
如果本教程帮你解决了问题,点一波关注可还行???
如果本教程帮你解决了问题,点一波关注可还行???
如果本教程帮你解决了问题,点一波关注可还行???
如果本教程帮你解决了问题,点一波关注可还行???
如果本教程帮你解决了问题,点一波关注可还行???
如果本教程帮你解决了问题,点一波关注可还行???
如果本教程帮你解决了问题,点一波关注可还行???
如果本教程帮你解决了问题,点一波关注可还行???
如果本教程帮你解决了问题,点一波关注可还行???
如果本教程帮你解决了问题,点一波关注可还行???
如果本教程帮你解决了问题,点一波关注可还行???
如果本教程帮你解决了问题,点一波关注可还行???

猜你喜欢

转载自blog.csdn.net/GeomasterYi/article/details/106940761