003: Visual Studio 配置 VTK 开发环境的方法与比较

news2024/9/22 13:38:39

目录

简介:

1 配置属性方法:

2 创建配置文件

3 在新项目中导入props文件 

总结:


简介:

       编译好VTK后,在安装目录里面有通常有包含bin,lib和include等文件夹,要在自己的项目里面使用VTK,主要就是需要再自己的VS项目里面进行正确的配置,使VS能够找到需要的文件(include文件夹内),lib文件,如果编译使用的是动态链接,在项目通过编译链接生成可执行文件后,在把可执行文件需要的dll,从bin文件夹内拷贝的可执行文件所在的文件夹即可。

      在自己的项目配置VTK的方法主要有两种:

  1.  配置属性方法:通过项目属性进行设置,添加头文件路径,lib文件路径和需要的lib文件;
  2.  创建配置文件:将VTK安装目录通过VS创建成props文件,需要时直接添加props到需要的项目之中即可;

两种方法的比较,第一种方法灵活一些,可以感觉自己项目的需要来增加或去除对应的lib文件,但如果有很多项目都要配置VTK的开发环境时,就不如第二种方法简单方便;第二种方法引入props文件非常的简单便捷,建议新手使用,但如果VTK安装目录变更后,就需要重新修改props文件。

刚开始学习VTK的话,还是建议使用第二种方法,也就是创建props方法。

1 配置属性方法:

该方法的介绍比较多,主要步骤就是右键单击项目名称,点击属性,打开属性设置页面,在C/C++ 常规中 附加包含目录中添加vtk头文件路径;

 在链接器  常规 里面的 附件库目录中添加Lib文件所在路径。

在链接器 输入 附件依赖性中添加所有的Lib文件即可。 

 这里需要特别注意,在使用批处理命令列出所有lib时,不可以放在C盘运行,否则没有输出,最好是将VTK的lib文件所在文件夹拷贝到其它盘符,然后创建bat文件,双击运行,就可以创建LIBLIST.txt文件,打开该文件直接拷贝里面的内容到  上面的附加依赖项 即可。

2 创建配置文件

   该方法只需要创建一次props文件,后面需要的项目直接导入props文件即可;

   首先要新建立一个C++ 控制台应用,例如我们建立项目VTK_Study项目;

上图为VS2017创建,与VS2022略有不同

项目建立好后,在VS顶部菜单项中,依次单击 视图 =>属性管理器,打开属性管理器窗口。

根据自己的项目设置,比如这里vtk_Study项目是 Debug下的X64,因此在属性管理器中,也选择Debug|x64, 右键单击,选择 添加新项目属性表,打开项目属性表添加对话框。 

在添加新项对话框中输入名称,为了以后其它项目使用该文件时,能够方便区分因此命名为vtkX64Debug,也就是和项目属性对应起来。 

建好后,会发现在Debug|x64下多出了vtkX64Debug.props文件,双击该文件,或右键点击属性,打开设置属性页。

接下来就和通过属性设置VTK一样了,在c/c++ 常规的,附加包含目录中添加vtk头文件路径 

在链接器  常规 里面的 附件库目录中添加Lib文件所在路径。

 在链接器 输入 附件依赖性中添加所有的Lib文件即可。

特别注意:完成后右键单击 vtkX64Debug,进行保存,如下图:

打开vtk_Study项目所在文件夹, 会发现里面多了一个vtkX64Debug.props文件,将该文件拷贝VTK的安装目录中,新的项目需要配置VTK时,直接导入该文件即可。

也可以用记事本打开该文件,打开后发现其就是本质就是一个xml文件,里面保存VTK配置相关的信息,如下图:

3 在新项目中导入props文件 

在原项目中新增加一个Win32 控制台程序,打开该项目的属性管理器,可以通过视图--属性管理器来打开;也可以直接再项目下面单击属性管理器页面

在打开的文件选择对话框中,选择刚才拷贝到VTK安装目录的  vtkX64Debug.props  导入即可,导入完成后,就可以直接开始使用VTK了,不需要再去属性对话框中设置路径,添加Lib文件了,方便快捷。

总结:

          介绍了两种再项目中配置VTK的方法,其实严格来说就是一种方法,不过相比较而言,第二种方法导出props文件后,后面所有要使用VTK的项目,直接通过属性框导入props文件即可,不用在去费劲添加路径和lib文件,想比较而言,更加的方便快捷。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何用c++判断一个类型是vector

如何用c判断一个类型是vector 我们使用模板元编程来搞定 这里我们可以定义一个模板结构体 is_std_vector,并对其进行特化,以便专门处理 std::vector 类型。 . 下面是详细的实现和使用示例。 实现 is_std_vector 类型, 继承自false_type 首先&#xff…

Unexpected token d in JSON at position 5, check bodyParser config错误解决

错误原因:json格式不对 { desc"设备1", iotProjectId11 } 解决:通过json在线校验格式校验json格式,找出错误原因,修改 在线JSON校验格式化工具(Be JSON) 修改: {"desc": &…

基于SpringBoot的校园博客系统

你好呀,我是计算机学姐码农小野!如果有相关需求,可以私信联系我。 开发语言:Java 数据库:MySQL 技术:SpringBoot框架 工具:IDEA/Eclipse、Navicat、Maven、Tomcat 系统展示 首页 博主管理…

使用 MongoDB 构建 AI:Patronus 如何自动进行大语言模型评估来增强对生成式 AI 的信心

大语言模型可能不可靠,这几乎算不上头条新闻。对于某些用例,这可能会带来不便。而对于其他行业,尤其是受监管行业,后果则要严重得多。于是,业内首个大语言模型自动评估平台 Patronus AI 应运而生。 Patronus AI 由 Met…

为啥给的贷款额度差距那么大?机构到底是怎么决定给你多少额度?

今日,我们深入探讨一个颇为引人入胜的话题——为何在不同银行或信贷机构申请贷款时,所能获得的额度竟能如此大相径庭?同时,揭秘这些金融机构背后是如何精密计算并决定每位申请者的“额度”的。以下内容干货满满,建议收…

10 先序遍历创建二叉树

这个代码是使用手动输入的方式创建二叉树 比较直观 #include "stdio.h" #include "stdlib.h"typedef int ElemType; typedef struct node {ElemType data;struct node *lchild;struct node *rchild; } Node;Node *create_node(int value) {Node *node (N…

2024国赛数学建模B题思路模型

完整的思路模型请查看文末名片

2024 年高教社杯全国大学生数学建模竞赛题目【A/B/C/D/E题】完整思路

↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ A题是数模类赛事很常见的物理类赛题,需要学习不少相关知识。此题涉及对一个动态系统的建模,模拟…

弹框用户勾选过得置灰 或者不显示

弹框用户勾选过得置灰 或者不显示 添加 :disabled“row.disabled” <el-table-column label"名称" width"300"><template #default"{ row }"><el-radio:disabled"row.disabled":label"row.coursesName"v-mo…

中秋节如何利用Python发送彩信

中秋节&#xff0c;作为中国传统节日之一&#xff0c;不仅是家人团聚的时刻&#xff0c;也是商家提高销售业绩的黄金时期。在这个充满温情与消费氛围的节日里&#xff0c;合理利用短信平台进行精准营销&#xff0c;可以显著提高企业的销售业绩。 支持免费对接试用乐讯通PaaS平台…

【全网最全】2024年数学建模国赛B题保奖思路+成品论文+matlab/python代码等(后续会更新

您的点赞收藏是我继续更新的最大动力&#xff01; 一定要点击末文的卡片&#xff0c;那是获取资料的入口&#xff01; 一、问题重述 本题聚焦于某电子产品制造企业在生产过程中的决策问题。企业在生产中需采购 和使用两种关键零配件&#xff0c;并在装配过程中面临如何优化质…

让Mac更Mac|明基MA系列显示器上市

凭借出色的性能和设计&#xff0c;MacBook成为了很多人的心头好。可13~16英寸的屏幕&#xff0c;时常让人感到视野受限&#xff0c;就像无边创意中的一道隐形壁垒。想要外接显示大屏&#xff0c;但除了Studio Display等苹果显示器之外&#xff0c;其他品牌的外接显示屏&#xf…

优化器与现有网络模型的修改

一、优化器 optimizer optim.SGD(model.parameters(), lr0.01&#xff08;学习速率&#xff09;, momentum0.9) optimizer optim.Adam([var1, var2], lr0.0001) 一般&#xff0c;学习率的设置&#xff0c;先从大的设置&#xff0c;逐渐变小。 神经网络可以参见上篇文章&am…

【数据库】MySQL-基础篇-函数

专栏文章索引&#xff1a;数据库 有问题可私聊&#xff1a;QQ&#xff1a;3375119339 目录 一、简介 二、字符串函数 三、数值函数 四、日期函数 五、流程函数 一、简介 函数 是指一段可以直接被另一段程序调用的程序或代码。 也就意味着&#xff0c;这一段程序或代码在 M…

【2024国赛C题】高教杯全国大学生数学建模国赛建模过程+完整代码论文全解全析

完整内容在文章末尾阅读全文获取&#xff01; 问题 1是针对不同情况下&#xff0c;该乡村未来几年农作物的最优种植方案的研究。 为解决这个数学建模问题&#xff0c;我们需要构建一个优化模型&#xff0c;考虑到各种限制条件和目标函数。以下是解决问题的步骤&#xff1a; 问…

有源低通/高通滤波器(一阶滤波器+Sallen-Key滤波器+高下降率滤波器)+有源带通滤波器(级联+多重反馈+状态可变)

2024-9-5&#xff0c;星期四&#xff0c;20:40&#xff0c;天气&#xff1a;晴&#xff0c;心情&#xff1a;晴。明天终于又要放假啦&#xff01;继续学习。、 今天继续学习第九章&#xff0c;主要学习内容为&#xff1a;有源低通/高通滤波器(一阶滤波器Sallen-Key滤波器高下降…

极速体验媲美GPT4V的国产开源视觉大模型CogVLM2(赠书)

大家好&#xff0c;我是每天分享AI应用的萤火君&#xff01; 文末赠书 CogVLM2是一款视觉语言模型&#xff08;Visual Language Model&#xff09;&#xff0c;由智谱AI和清华KEG潜心打磨。这款模型是CogVLM的升级版本&#xff0c;支持高达 1344 * 1344 的图像分辨率&#xf…

matter的Commissioning(入网过程)整体流程、加密方式、通信信息结构

在Matter协议中&#xff0c;**控制器负责将新设备加入网络&#xff08;commissioning&#xff09;**的整个流程&#xff0c;这一过程包括设备的发现、验证、授权、加入Fabric&#xff0c;以及最终建立数据通信的步骤。配网完成后的数据通信过程同样遵循严格的加密方式&#xff…

冠军品质!凯伦股份又一产品荣获省级制造业单项冠军

近日&#xff0c;唐山凯伦新材料科技有限公司获得河北省工业和信息化厅颁发的“河北省制造业单项冠军”证书&#xff0c;公司生产的“抗流挂聚氨酯防水涂料”获得该项省级荣誉。 据了解&#xff0c;省级制造业单项冠军代表着河北省细分行业最高的发展水平、最强的市场实力&…

HarmonyOS开发实战( Beta5版)Stack组件实现滚动吸顶效果实现案例

介绍 本示例介绍运用Stack组件以构建多层次堆叠的视觉效果。通过绑定Scroll组件的onScroll滚动事件回调函数&#xff0c;精准捕获滚动动作的发生。当滚动时&#xff0c;实时地调节组件的透明度、高度等属性&#xff0c;从而成功实现了嵌套滚动效果、透明度动态变化以及平滑的组…