cmake 在MacOS上结合Qt6和VTK9.2

rslzwgfq  于 2023-08-05  发布在  Mac
关注(0)|答案(1)|浏览(186)

我正在尝试在Qt6应用程序中使用VTK。我已经成功地在Qt5应用程序中使用它,但我想转移到Qt6。
MacOS Ventura(13.2.1)在这里,我通过Qt Creator安装了Qt5.15.2和Qt6.4.2。两个都很好。
然而,当我尝试与VTK(9.2,通过自制软件安装)合并时,它似乎只能与Qt5配合使用。如果我将find_package(VTK 9.2 REQUIRED)添加到我的CMakeLists.txt中,然后尝试使用Qt6编译应用程序,我会得到以下错误:

CMake Error at /usr/local/lib/cmake/vtk-9.2/VTK-vtk-module-find-packages.cmake:115 (find_package):
  By not providing "FindQt5.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "Qt5", but
  CMake did not find one.

  Could not find a package configuration file provided by "Qt5" (requested
  version 5.15) with any of the following names:

    Qt5Config.cmake
    qt5-config.cmake

  Add the installation prefix of "Qt5" to CMAKE_PREFIX_PATH or set "Qt5_DIR"
  to a directory containing one of the above files.  If "Qt5" provides a
  separate development package or SDK, be sure it has been installed.
Call Stack (most recent call first):
  /usr/local/lib/cmake/vtk-9.2/vtk-config.cmake:155 (include)
  CMakeLists.txt:22 (find_package)

字符串
因此,它似乎需要引用Qt5,即使如果我正在构建Qt6应用程序,这应该是不必要的,对吗?查看VTK-vtk-module-find-packages.cmake文件,第115行内容如下:

find_package(Qt5
    5.15


所以在我的VTK安装中似乎有一些对Qt5的硬编码引用。我在安装VTK的过程中做错了什么吗?(我刚刚输入了brew install vtk)还是Qt6还不支持?根据this thread,从VTK 9.1开始应该包括支持。但他们会在VTK CMake过程中讨论如何配置它。我该怎么做呢?这可能不可能使用homebrew吗?

hgqdbh6s

hgqdbh6s1#

如果brew没有提供针对Qt6构建的版本,您需要构建自己的VTK链接。
例如,vcpkg提供了针对Qt6的VTK构建。

相关问题