1. 默认前提:已安装好VS2017
  2. Cmake下载安装(版本无所谓):https://blog.csdn.net/u011231598/article/details/80338941
  3. vtk7.1.1官网下载地址(别的版本配置方式一样):https://vtk.org/files/release/7.1/VTK-7.1.1.zip
  4. VTK解压缩后得到一个VTK-7.1.1的文件夹,我在这个文件夹里面新建了两个文件夹build和VTK-PREFIX。(我的分别是是D:/VTK-7.1.1/build和D:/VTK-7.1.1/VTK-PREFIX)
  5. 用cmake编译VTK:
    打开cmake,在 where is the source code 后面填写VTK解压缩后的文件夹地址,在where to build the binaries 后面填写我们刚刚创建的build文件夹地址。
  6. 然后点击configure,选择Visual Studio 15 2017 Win64,因为我是在64位的vs2017下编译的。等待一段时间,出现红字,在BUILD_EXAMPLES后面打勾,在CMAKE_INSTALL_PREFIX后面填写我们刚刚建立的VTK-PREFIX文件夹地址。

    然后再次点击configure,红色消失。

    点击generate,出现Generate Done。

  7. 打开我们之前创建的build文件夹,用vs2017打开VTK.sln文件。选中ALL_BUILD项目,右键选择生成,静静等待一段时间直到编译完成。

  8. 看看我们的VTK是否安装成功:选择Cube项目,右键选择设为启动项目,然后CTRL+F5运行,一个彩色的多边形就出来啦

以上,VTK就安装成功了,下面我们来看一下新建一个vs工程,VTK该如何配置。

  1. 在VTK.sln的工程中,选中INASTALL项目,右键选择生成,这样在我们前面创建的VTK-PREFIX文件夹中就生成了VTK的头文件、dll文件和lib文件
  2. 在环境变量,系统变量的PATH中,把bin文件夹的地址加进去。我的是D:\VTK-7.1.1\VTK-PREFIX\bin
  3. 在VS2017中创建一个新的工程,选择项目->属性,在VC++目录的包含目录中,把VTK-PREFIX文件夹中的include文件夹的地址加进去,在VC++目录的库目录中,把VTK-PREFIX文件夹中的lib文件夹的地址加进去。
  4. 在VTK-PREFIX的lib文件夹内新建一个txt文件,将   DIR *.lib /B >LIBLIST.TXT 写入txt并保存,改后缀.txt.bat并双击运行,这时在目录生成了一个新的.txt文件,文件存有所有lib文件的名字。编辑项目->属性->配置属性->链接器->输入 附加依赖项,将刚生成的所有lib文件的名字粘贴进去。
  5. .dll 配置:配置完上边,项目应该可以生成了,把 build 文件夹中的 bin 文件夹中的所有 dll 文件放到VS生成出的 exe 所在文件夹下。找不到的可以编译后仔细查看目录,在Debug下。或者在项目->属性->配置属性->调试 环境 写入PATH=VTK-PREFIX的bin的完整目录,也可以将dll文件全部复制在项目中。
  6. 可惜的是每次新建一个项目都要重新配置(貌似可以写配置文件,方便一点,我自己没有试过)

测试:

将以下代码复制到cpp中,配置成功了就能成功显示。

#include <vtkActor.h>
#include <vtkCamera.h>
#include <vtkCylinderSource.h>
#include <vtkNamedColors.h>
#include <vtkPolyDataMapper.h>
#include <vtkProperty.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkRenderer.h>
#include <vtkSmartPointer.h>
#include <array>
#include <vtkAutoInit.h>
VTK_MODULE_INIT(vtkRenderingOpenGL2);//和官方的例子有些不同,下面解释
VTK_MODULE_INIT(vtkInteractionStyle);
int main(int, char *[]) {vtkSmartPointer<vtkNamedColors> colors =vtkSmartPointer<vtkNamedColors>::New();// Set the background color.std::array<unsigned char, 4> bkg{{26, 51, 102, 255}};colors->SetColor("BkgColor", bkg.data());// This creates a polygonal cylinder model with eight circumferential facets// (i.e, in practice an octagonal prism).vtkSmartPointer<vtkCylinderSource> cylinder =vtkSmartPointer<vtkCylinderSource>::New();cylinder->SetResolution(8);// The mapper is responsible for pushing the geometry into the graphics// library. It may also do color mapping, if scalars or other attributes are// defined.vtkSmartPointer<vtkPolyDataMapper> cylinderMapper =vtkSmartPointer<vtkPolyDataMapper>::New();cylinderMapper->SetInputConnection(cylinder->GetOutputPort());// The actor is a grouping mechanism: besides the geometry (mapper), it// also has a property, transformation matrix, and/or texture map.// Here we set its color and rotate it around the X and Y axes.vtkSmartPointer<vtkActor> cylinderActor = vtkSmartPointer<vtkActor>::New();cylinderActor->SetMapper(cylinderMapper);cylinderActor->GetProperty()->SetColor(colors->GetColor4d("Tomato").GetData());cylinderActor->RotateX(30.0);cylinderActor->RotateY(-45.0);// The renderer generates the image// which is then displayed on the render window.// It can be thought of as a scene to which the actor is addedvtkSmartPointer<vtkRenderer> renderer = vtkSmartPointer<vtkRenderer>::New();renderer->AddActor(cylinderActor);renderer->SetBackground(colors->GetColor3d("BkgColor").GetData());// Zoom in a little by accessing the camera and invoking its "Zoom" method.renderer->ResetCamera();renderer->GetActiveCamera()->Zoom(1.5);// The render window is the actual GUI window// that appears on the computer screenvtkSmartPointer<vtkRenderWindow> renderWindow =vtkSmartPointer<vtkRenderWindow>::New();renderWindow->SetSize(300, 300);renderWindow->AddRenderer(renderer);renderWindow->SetWindowName("Cylinder");// The render window interactor captures mouse events// and will perform appropriate camera or actor manipulation// depending on the nature of the events.vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =vtkSmartPointer<vtkRenderWindowInteractor>::New();renderWindowInteractor->SetRenderWindow(renderWindow);// This starts the event loop and as a side effect causes an initial render.renderWindowInteractor->Start();return EXIT_SUCCESS;
}

报过的错:

模块计算机类型“x64”与目标计算机类型“X86”冲突 注意所有的都改成64和WIN64(WIN32也不行)

其他的错误

参考

VTK7.1.1+VS2017的安装配置相关推荐

  1. OpenCV4.0+VS2017完整安装配置过程(详细!)

    刚步入研究生生活,老师要求安装OpenCV+VS,所以昨天捣鼓了下,成功''吃鸡''.所以今天写下昨天安装的过程,也便自己对此印象更加深刻. 一.下载安装VS2017 我安装的版本是目前最新的Visu ...

  2. VS2017安装配置Qt

    这篇文章作为qt的开发环境配置篇,记录如何在vs2017中安装qt的 所需软件下载链接如下: QT下载链接:QT visual studio下载链接:visual studio 这里推荐安装最新的,原 ...

  3. asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程...

    最近在学习张善友老师的NanoFabric 框架的时了解到Exceptionless : https://exceptionless.com/ !因此学习了一下这个开源框架!下面对Exceptionl ...

  4. 【转】VTK + QT + VS 编译安装配置

    VTK Vtk,(visualization toolkit)是一个开源的免费软件系统,主要用于三维计算机图形学.图像处理和可视化.Vtk是在面向对象原理的基础上设计和实现的,它的内核是用C++构建的 ...

  5. 转自:拜小白教你OpenCV3.2.0+VS2017开发环境配置

    拜小白教你OpenCV3.2.0+VS2017开发环境配置 本文转载自<拜小白教你OpenCV3.2.0+VS2017开发环境配置>.转载链接. https://blog.csdn.net ...

  6. **caffe_vcpkg+vs2017+win7安装整理**

    caffe_vcpkg+vs2017+win7安装整理 1.前期准备 (1)python3.5->Anaconda3_64(caffe只支持python2.7和3.5): 可先查当前python ...

  7. OPGL+VS2017+GLFW+GLEW配置详细步骤

    OPGL+VS2017+GLFW+GLEW配置详细步骤 首先呢?不可否认我在CSDN这个平台上学到了很多有用的知识,可能是感染到我吧,第一次有想法自己发博文,不足之处,请多多指教. 入门学习OPGL, ...

  8. Win10系统VS2015上配置YOLOv3运行训练环境(包含OpenCv3.40安装配置,cuda9.2安装配置)

      前言 第一次写博客,迟迟不敢下笔,只怕在言语之间有所纰漏.在下区区学生一枚,在此斗胆写下在win10上搭建yolo_v3环境的过程与感受.博文部分安装配置过程将会引用其他博文,如有侵权,通知立删. ...

  9. Win11下VS2022的emguCV4.6安装配置方法

    本人做图像处理处理很多年了,最开始是用VC6,尽管有一些源码例子,但好多库还得自己创建,什么都得自己写,工作量巨大.VS是从2003版本开始入门的,这也是VS的第一个版本,这个版本其实是个测试版,有很 ...

最新文章

  1. UA SIE545 优化理论基础4 对偶理论简介3 强对偶
  2. 中国台湾芯片设计商 Realtek 的WiFi SDK漏洞影响数百万IOT设备
  3. 动感灯箱制作流程培训_从事广告行业20年老师傅,揭秘广告牌类型和制作工艺流程 !...
  4. Java关于延迟加载的一些应用最佳实践
  5. 《OpenGL ES 3.x游戏开发(下卷)》一导读
  6. WPS个人版安装VBA教程
  7. RadioButton设置图片大小
  8. bzoj5369: [Pkusc2018]最大前缀和 状压Dp 计数Dp
  9. 杰瑞·卡普兰:人工智能并不可怕 未来将带来两大影响
  10. web项目的中英文切换功
  11. A股市场周内效应研究
  12. Python实现的简易HTTP代理服务器
  13. java 如何利用ISAPI实现设置RTSP播放参数,代码怎么写
  14. on后面使用and和where的区别
  15. java导出excel 打不开_Java使用POI生成Excel文件后打不开的问题
  16. 【Go语言实战】—— 时间戳转标准输出格式,标准输出转时间戳,gorm查询标准化时间
  17. 上千程序员在支付宝开party?——记 BASIC College 超级技术嘉年华
  18. SpringBoot:yaml配置及语法、yml数据读取、多环境开发控制
  19. 在matlab神经网络中xite,神经网络的MATLAB实现苏析超
  20. 【网站排名优化】如何对网站内容进行优化

热门文章

  1. Spring-工厂高级特性
  2. JetBrains学生认证全家桶申请学生账户方式-保姆级
  3. Vue学习之--------消息订阅和发布、基础知识和实战应用(2022/8/24)
  4. 第六届中国图学大会草记
  5. 在blender中使用python脚本批量复制平移生成模型
  6. 计算机启动后桌面丢失,重启电脑后桌面excel会丢失sheet | 电脑重启后,桌面图标资料文件,全部不见了怎么办?...
  7. 计算机应用每次开机都清空,电脑每次开机都自动出现ExceL
  8. 古人造出的最牛汉字 看看你认识多少!
  9. windows操作系统没有开启安全审核策略引发的威胁
  10. 智慧课堂app(一)Flutter+springboot 实现考勤码+gps考勤签到功能