osgQt配置过程

不知道是因为电脑配置的原因,还是自己操作的原因,在配置osgQt的过程中,有很多的问题,在这里记录一下,方便以后查阅(仅记录成功案例,失败案例太多了~~~)。

环境说明

本人配置的环境是:Windows 10,osg3.6.3,Visual Studio 2017,Qt5.11.1,CMake3.15.4,关于这些环境的安装,可以参照网上的一些安装教程。
同时,需要将这些软件的bin目录写到环境变量中!!!同时,由于osgQt的编译需要用到osg的源代码,所以我添加了OSG_ROOT变量,变量的值就是osg的根目录,不配置此变量不知道会不会影响osgQt的编译。

源代码

osgQt最新版本的核心是osgQOpenGLWidget和osgQOpenGLWindow类,我目前暂时没有找到比较合适的介绍。原来版本的核心是GraphicsWindowQt类,在网上大部分都是对这一版本使用介绍,因此决定选用该版本进行编译–>源代码连接
下载好了之后解压到目标文件夹,手动添加build文件夹用于存储编译后的内容:
osgQt配置过程

CMake生成过程

  1. 再用CMake编译之前,需要先修改osgQt的CMakeLists文件(上面那张图中有),修改文件中大致130行处的配置如下:
    osgQt配置过程
    注意:图中133-135行的代码,是我在第一次没加这三行编译失败的情况下添加进去的,在我的电脑上,不加这三行的话,在用VS进行编译时会报version WORDS separated by commas expected的错误,读者可以根据情况添加(或许别的电脑不加也行,或者加了反而报错):
    osgQt配置过程
  2. 删除CMakeLists中大致在445-449行的代码,删除的代码如下图:
    osgQt配置过程
    如果不删除,在我的电脑上会报could not find load file Finde3rdPartyDependencies的错误:
    osgQt配置过程
  3. 修改好CMakeLists之后,打开CMake,设置编译源代码位置和工程位置如下(根据自己电脑上osgQt解压的位置来),我osgQt解压在E盘的osg/osgqt文件夹下,build文件夹是前面解压的时候自己创建的空文件夹,并勾选Grouped和Advanced选项:
    osgQt配置过程
    点击Configure,初次编译会让你选择VS版本和配置,我选择的是VS2017和X64位,如果没有出错(Warning可以不用管)就可以点击Generate,成功后直接Open Project。

VS编译阶段

用CMake打开VS工程之后,点击生成,在下拉菜单中选择批生成:
osgQt配置过程
在弹出的对话框中,勾选ALL_BUILD的Debug和Release版本,并点击生成:
osgQt配置过程
可能有的电脑比较顺利,生成过程中没有报错,直接就成功了,但是我在这报错了,报错如下:
osgQt配置过程
并且我实在release版本生成的时候报的错,debug版本并没有报错,这个时候,建议查看一下项目的依赖库。点击项目->属性->链接器->输入->附加依赖项->编辑,操作流程如下:
osgQt配置过程
osgQt配置过程
osgQt配置过程
在上面这个图中查找optimized.lib和debug.lib,很遗憾,在debug的配置中没有找到这两个lib,这个地方我卡了一上午。最后,发现是release版本的报错,就猛然看到了自己一直在找debug的属性页????。
将属性页的配置换成release的,然后同样的位置,就找到并删除了optimized.lib和debug.lib。
osgQt配置过程
这样修改之后,编译就成功了。
成功之后,同样选择批生成,取消勾选ALL_BUILD的两个勾,勾选INSTALL的两个版本,并点击生成,生成过程中可能会报权限问题,可以尝试以管理员身份重新打开工程,再进行INSTALL,就可以成功编译了:
osgQt配置过程
至此,osgQt就编译完了。
如果有什么问题,留言给我!

相关文章:

  • 2021-08-22
  • 2021-06-29
  • 2021-07-23
  • 2021-05-19
  • 2021-05-17
  • 2021-06-05
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-05-17
  • 2021-12-03
  • 2021-11-20
  • 2021-09-09
  • 2021-11-26
  • 2021-11-30
  • 2021-08-29
相关资源
相似解决方案