Qt +VTK+Cmake 编译和环境配置(第一篇 采坑)

VTK下载地址:https://vtk.org/download/

cmake下载地址:https://cmake.org/download/

版本对应方面,如果你的项目对版本没有要求,就不用在意。我就是自己随机搭建的,VTK选择最新版本吧,如果后面其他的库不支持高版本 ,我在更好低版本的。这里只是介绍一下编译过程。

 这个最新版本9.3.0。

下载8.2.0版本

选择Source下的.zip版本,tar.gz是Linux的。cmake记得下载.     msi后缀的,这里选择64位的即win64,下载好后直接双击默认下一步安装即可。这里我们要自己编译,所以下载  VTK-8.2.0.zip这个文件。

安装好Cmake

如果选择 Qt的gcc和g++编译器,可以参考我的博客

Cmake:Error in configuration process,project files may be invalid.Qt编译opencv的经验之谈。_Vertira的博客-CSDN博客

编译VTK和 编译opencv 差别不大。

如果出现这种错误看我的连接

error: ‘std::_hypot‘ has not been declared using std::hypot;_Vertira的博客-CSDN博客

 如果没有错误,就忽略上面的连接

 

第一次Configure应该要挺长时间,5-10分钟吧,具体看电脑的处理器性能,这只是第一次,后面还有好几次,因为需要继续改参数配置,第一次的Configure过后,会出现下图所示的一片红色,这个不用担心,这里需要修改的地方有三处,分别是:

  1. BUILD_EXAMPLES:生成一些vtk官方的examples,帮助理解学习,当然不选择也没事;
  2. CMAKE_INSTALL_PREFIX:这里存放之后使用vtk时的一些动态库dll,二进制库lib,vtk的一些头文件之类的。图上此项的位置已经修改为 刚创建的那个vtk-pefix文件夹的路径(也可以把文件夹的路径名称改为vtk-install);
  3. VTK_Group_Qt:我这里需要在Qt中使用vtk,所以选择了此项。

 编译出错:::::????????? 

 

CMake Error at GUISupport/Qt/CMakeLists.txt:71 (find_package):By not providing "FindQt5.cmake" in CMAKE_MODULE_PATH this project hasasked CMake to find a package configuration file provided by "Qt5", butCMake did not find one.Could not find a package configuration file provided by "Qt5" with any ofthe following names:Qt5Config.cmakeqt5-config.cmakeAdd 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 aseparate development package or SDK, be sure it has been installed.

 

CMake Error at GUISupport/Qt/CMakeLists.txt:71 (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" 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.
 

这个错误网上查了一下,原来是一些文件的路径没有设置

那就在cmake界面的add Entry,把上面的路径一点一点的添加上去。

 

 

 结果出现这样的问题,

CMake Warning (dev) at E:/Qt5/VTK/build/CMakeTmp/VTK_UNDEFINED_SYMBOLS_ALLOWED/CMakeLists.txt:2 (project):cmake_minimum_required() should be called prior to this top-level project()call.  Please see the cmake-commands(7) manual for usage documentation ofboth commands.
This warning is for project developers.  Use -Wno-dev to suppress it.Performing Test VTK_UNDEFINED_SYMBOLS_ALLOWED - Failed
Group StandAlone modules: vtkChartsCore;vtkCommonComputationalGeometry;vtkCommonCore;vtkCommonDataModel;vtkCommonExecutionModel;vtkCommonMisc;vtkCommonSystem;vtkCommonTransforms;vtkDomainsChemistry;vtkFiltersAMR;vtkFiltersCore;vtkFiltersExtraction;vtkFiltersFlowPaths;vtkFiltersGeneral;vtkFiltersGeneric;vtkFiltersGeometry;vtkFiltersHybrid;vtkFiltersHyperTree;vtkFiltersImaging;vtkFiltersModeling;vtkFiltersParallel;vtkFiltersParallelImaging;vtkFiltersPoints;vtkFiltersProgrammable;vtkFiltersSMP;vtkFiltersSelection;vtkFiltersSources;vtkFiltersStatistics;vtkFiltersTexture;vtkFiltersTopology;vtkFiltersVerdict;vtkIOAMR;vtkIOAsynchronous;vtkIOCityGML;vtkIOCore;vtkIOEnSight;vtkIOExodus;vtkIOGeometry;vtkIOImage;vtkIOImport;vtkIOInfovis;vtkIOLSDyna;vtkIOLegacy;vtkIOMINC;vtkIOMovie;vtkIONetCDF;vtkIOPLY;vtkIOParallel;vtkIOParallelXML;vtkIOSQL;vtkIOSegY;vtkIOTecplotTable;vtkIOVeraOut;vtkIOVideo;vtkIOXML;vtkIOXMLParser;vtkImagingColor;vtkImagingCore;vtkImagingFourier;vtkImagingGeneral;vtkImagingHybrid;vtkImagingMath;vtkImagingMorphological;vtkImagingSources;vtkImagingStatistics;vtkImagingStencil;vtkInfovisCore;vtkInfovisLayout;vtkParallelCore
Group MPI modules: vtkDomainsParallelChemistry;vtkFiltersParallelGeometry;vtkFiltersParallelMPI;vtkFiltersParallelVerdict;vtkIOMPIImage;vtkIOMPIParallel;vtkIOParallelNetCDF;vtkParallelMPI
Group Imaging modules: vtkFiltersImaging;vtkImagingColor;vtkImagingFourier;vtkImagingGeneral;vtkImagingHybrid;vtkImagingMath;vtkImagingMorphological;vtkImagingSources;vtkImagingStatistics;vtkImagingStencil;vtkInteractionImage;vtkRenderingImage
Group Qt modules: vtkGUISupportQt;vtkGUISupportQtSQL;vtkRenderingQt;vtkViewsQt
Group Rendering modules: vtkGeovisCore;vtkIOExport;vtkIOExportPDF;vtkInteractionImage;vtkInteractionStyle;vtkInteractionWidgets;vtkRenderingAnnotation;vtkRenderingContext2D;vtkRenderingCore;vtkRenderingFreeType;vtkRenderingImage;vtkRenderingLOD;vtkRenderingLabel;vtkRenderingVolume;vtkViewsContext2D;vtkViewsCore;vtkViewsInfovis
Group Tk modules: vtkRenderingTk
Group Views modules: vtkViewsContext2D;vtkViewsGeovis
Group Web modules: vtkWebCore;vtkWebPython;vtkWebGLExporter
Backend OpenGL2 modules: vtkDomainsChemistryOpenGL2;vtkIOExportOpenGL2;vtkImagingOpenGL2;vtkRenderingContextOpenGL2;vtkRenderingGL2PSOpenGL2;vtkRenderingLICOpenGL2;vtkRenderingOpenGL2;vtkRenderingOpenVR;vtkRenderingVolumeOpenGL2
Enabling modules for OpenGL2.
CMake Deprecation Warning at Utilities/KWIML/vtkkwiml/CMakeLists.txt:20 (cmake_minimum_required):Compatibility with CMake < 3.5 will be removed from a future version ofCMake.Update the VERSION argument <min> value or use a ...<max> suffix to tellCMake that the project does not need compatibility with older versions.CMake Deprecation Warning at Utilities/KWSys/vtksys/CMakeLists.txt:84 (CMAKE_MINIMUM_REQUIRED):Compatibility with CMake < 3.5 will be removed from a future version ofCMake.Update the VERSION argument <min> value or use a ...<max> suffix to tellCMake that the project does not need compatibility with older versions.CMake Deprecation Warning at ThirdParty/doubleconversion/vtkdoubleconversion/CMakeLists.txt:1 (cmake_minimum_required):Compatibility with CMake < 3.5 will be removed from a future version ofCMake.Update the VERSION argument <min> value or use a ...<max> suffix to tellCMake that the project does not need compatibility with older versions.CMake Deprecation Warning at ThirdParty/verdict/vtkverdict/CMakeLists.txt:2 (cmake_minimum_required):Compatibility with CMake < 3.5 will be removed from a future version ofCMake.Update the VERSION argument <min> value or use a ...<max> suffix to tellCMake that the project does not need compatibility with older versions.CMake Warning (dev) at E:/Qt5/VTK/build/Examples/Build/vtkLocal/CMakeTmp/VTK_UNDEFINED_SYMBOLS_ALLOWED/CMakeLists.txt:2 (project):cmake_minimum_required() should be called prior to this top-level project()call.  Please see the cmake-commands(7) manual for usage documentation ofboth commands.
This warning is for project developers.  Use -Wno-dev to suppress it.Performing Test VTK_UNDEFINED_SYMBOLS_ALLOWED - Failed
Configuring done (51.0s)

Performing Test VTK_UNDEFINED_SYMBOLS_ALLOWED - Failed

没有报错,但是执行失败?????????  这是什么原因呢?

我的电脑是比较老旧,显卡也是英伟达GF 525M,虽然比较老,应该不至于吧。

重新删除重新编译。试一试

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/95169.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

燃气管网监测系统,提升城市燃气安全防控能力

燃气是我们日常生活中不可或缺的能源&#xff0c;但其具有易燃易爆特性&#xff0c;燃气安全使用、泄漏监测尤为重要。当前全国燃气安全事故仍呈现多发频发态势&#xff0c;从公共安全的视角来看&#xff0c;燃气已成为城市安全的重大隐忧&#xff01;因此&#xff0c;建立一个…

Docker(三) 创建Docker镜像

一、在Docker中拉取最基本的Ubuntu系统镜像 搜索Ubuntu镜像 Explore Dockers Container Image Repository | Docker Hub 下载镜像 docker pull ubuntu:22.04 二、在镜像中添加自己的内容 使用ubuntu镜像创建容器 docker run -it ubuntu:20.04 /bin/bash 在容器中创建了一个文…

RISC-V(2)——特权级及特权指令集

目录 1. 特权级 2. 控制和状态寄存器&#xff08;CSR&#xff09; 2.1 分类 2.2 分析 1. 特权级 一个 RISC-V 硬件线程&#xff08;hart&#xff09;是运行在某个特权级上的&#xff0c;这个特权级被编码到一个或者多个 CSR&#xff08;control and status register&a…

不同写法的性能差异

“ 达到相同目的,可以有多种写法,每种写法有性能、可读性方面的区别,本文旨在探讨不同写法之间的性能差异 len(str) vs str "" 本部分参考自: [问个 Go 问题&#xff0c;字符串 len 0 和 字符串 "" &#xff0c;有啥区别&#xff1f;](https://segmentf…

经管博士科研基础【16】一元二次函数的解的公式

1. 一元二次函数的形式 2. 一元二次函数的图形与性质 一元二次函数的图像是一条抛物线&#xff0c;图像定点公式为(-b/2a,4ac-b*b/4a)&#xff0c;对称轴位直线x-b/2a。 3. 求根公式 形如ax*xb*xc0的一元二次方程&#xff0c;其求根公式为&#xff1a; 4. 韦达定理 如果x1和…

IP网络广播系统有哪些优点

IP网络广播系统有哪些优点 IP网络广播系统有哪些优点&#xff1f; IP网络广播系统是基于 TCP/IP 协议的公共广播系统&#xff0c;采用 IP 局域网或 广域网作为数据传输平台&#xff0c;扩展了公共广播系统的应用范围。随着局域网络和 网络的发展 , 使网络广播的普及变为可能 …

Sentinel 流量控制框架

1. Sentinel 是什么&#xff1f; Sentinel是由阿里中间件团队开源的&#xff0c;面向分布式服务架构的轻量级高可用流量控制组件。 2. 主要优势和特性 轻量级&#xff0c;核心库无多余依赖&#xff0c;性能损耗小。 方便接入&#xff0c;开源生态广泛。 丰富的流量控制场景。 …

手写RPC——数据序列化工具protobuf

手写RPC——数据序列化工具protobuf Protocol Buffers&#xff08;protobuf&#xff09;是一种用于结构化数据序列化的开源库和协议。下面是 protobuf 的一些优点和缺点&#xff1a; 优点&#xff1a; 高效的序列化和反序列化&#xff1a;protobuf 使用二进制编码&#xff0c…

Glide分析和总结

1. Glide概述 Glide是一款图片处理的框架&#xff0c;从框架设计的角度出发&#xff0c;最基本要实现的就是 加载图片 和 展示。 它把一个图片请求封装成一个Request对象&#xff0c;里面有开启、暂停、关闭、清除网络请求、以及载体生命周期的监听等操作。然后通过RequestBu…

Mac 如何判断下载Mac with Intel Chip 还是 Mac with Apple Chip

如下图&#xff0c;当我们在 Mac系统 下载客户端时&#xff0c;有两种选择&#xff1a;Mac with Intel Chip 、 Mac with Apple Chip 如何判断要下载哪一种&#xff1f; 需要判断本机Mac是在Inter芯片还是Apple芯片上运行的。方法如下&#xff1a; 点击屏幕左上角Apple标志&a…

Linux 通过 Docker 部署 Nacos 2.2.3 服务发现与配置中心

目录 环境准备Nacos 数据库创建Docker 部署 Nacos1. 创建挂载目录2. 下载镜像3. 创建和启动容器4. 访问控制台 导入 Nacos 配置SpringBoot 整合 Nacospom 依赖application.yml 配置 参考官方链接微服务商城源码 环境准备 名称版本IP端口Nacos2.2.3192.168.10.218848、9848MySQ…

java-初识Servlet,Tomcat,JDBC

文章目录 前言一、ServletServlet 生命周期Servlet 实例Servlet 过滤器 二、TomcatJDBCJDBC连接数据库实例 总结 前言 java入门须知的重要概念/名词/技术 等 一、Servlet Servlet是Java Web开发中的一个核心组件&#xff0c;它是基于Java语言编写的服务器端程序&#xff0c;…