我正在尝试在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吗?
1条答案
按热度按时间hgqdbh6s1#
如果brew没有提供针对Qt6构建的版本,您需要构建自己的VTK链接。
例如,vcpkg提供了针对Qt6的VTK构建。