VTK5.10.1+visual studio2012配置方案

由于最近要接手师兄的项目,实现三维可视化开发,所以要配置VTK。师兄的VTK版本有些老,在配置环境的过程中也踩了很多坑,配置了一周才搞定,很麻烦。估计之后很少有人会用这个版本的VTK了吧,现在将配置过程记录下来。

 PS:本来我想这篇博文的名字为VTK5.10.1+visual studio2012+QT4.86配置方案,本来搭建好了,结果发现运行例子总会出现问题,于是又过了两天,总共花了九天时间才搞定环境。这 由于使用QT环境实在难成功,所以不适用QT环境了。但是这篇博文中之前写的关于QT的内容我先不删除,自动忽略就好。

参考:《VTK图形图像开发进阶》张晓东

配置环境:

Window7系统64位

VTK 5.10.1

visual studio 2012

QT 4.86

CMake 3.15.2

配置环境说明:

这是在Window64位系统下的VTK 5.10.1环境配置,其中配置环境中的VTK,visual Studio, QT的版本非常重要,如果vtk版本较高(8.0+),那么应该对应的vs为2015以上的版本,以及QT的版本应该是5.0+的版本;如果和我使用相同的vtk版本(5.10.1),应该使用QT4系列,其他的没有尝试过,但是这几个版本必须对应,我踩过了不少坑,很难受。而Cmake的版本倒是无所谓。

配置下载:

我会上传到我的百度云上面,需要将所有的东西都下载,网址如下:

链接:https://pan.baidu.com/s/1d8bTZknOfyfbUOZEBqP_eA

提取码:g7s7

复制这段内容后打开百度网盘手机App,操作更方便哦

VTK安装:

  1. 首先要安装好Cmake,QT4.8
  2. 将vtk-5.10.1.zip,vtkdata-5.10.1.zip文件解压,产生两个文件VTK5.10.1,VTKData5.10.1。然后再创建两个空文件夹,作为cmake编译使用的,分别命名为VTK5.10.1-bin,vtkdata-5.10-bin。在创建一个空文件夹,我命名为vtk_install,以后再用。
  3. 打开Cmake,在where is the source code中,选中VTK5.10.1,Where to build the binaries中选中VTK5.10.1-bin,这里的选中意思是选择该文件夹,其实也可以手动把文件路径输入上去。点击Configure,如图所示

 

 

4. 然后产生一个选择编译器的选项,这里选择vs2012,其他的默认就可以,至于选择32位的还是64位的,由于我接手的项目是x64的,因此我选择x64的,我看网上其他人一般选择的都是默认win32的。点击Finish

第一次配置需要的时间比较长,耐心等待。期间出现很多红字警告,包括总会出现一些

CMake Warning (dev) at CMake/vtkMakeInstantiator.cmake:148 (CONFIGURE_FILE):
configure_file called with unknown argument(s):

COPY_ONLY

Call Stack (most recent call first):
CMake/KitCommonBlock.cmake:2 (VTK_MAKE_INSTANTIATOR3)
Charts/CMakeLists.txt:110 (INCLUDE)
This warning is for project developers. Use -Wno-dev to suppress it.

不用管它就好,我尝试去解决,但是从网上找了很多解决办法,都没有成功,索性就不管了。

5. 然后会出现很多红色的选项,这里除了默认的,还要添加一些选项,包括

BUILD_EXAMPLES, BUILD_SHARED_LIBS, VTK_USE_QT, VTK_USE_GUISUPPORT打开, BUILD_TESTING选中(我先开始没有选中,后来想了想还是选中了), VTK_DATA_ROOT就是刚才解压的vtkData5.10.1那个文件夹,Cmake_INSTALL_PREFIX就是camke编译后下载到哪个文件夹,因为默认的是C盘,所以我把他放到我最先开始创建的vtk_install文件夹下。如下图所示,如果找不到选线,可以把Advanced勾选

6. 点击Configure继续配置,同样期间出现的很多警告不用管。然后出现的选项中,选中VTK_USE_MAC。注意里面的QT_IMPORTS_DIR不要存在not found,要不然会报错,估计目录像我这样会自动生成,如果是高版本的vtk,他需要QT5系列(所以要注意QT的版本),这个选项的路径是Qt5Config.cmake所在的文件夹,但是这个版本我就有点搞不明白了。继续点击configure。

7. 期间我出现了个错误:

CMake Warning at Examples/GUI/Win32/SampleMFC/CMakeLists.txt:3 (FIND_PACKAGE):
By not providing "FindVTK.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "VTK", but
CMake did not find one.

Could not find a package configuration file provided by "VTK" with any of
the following names:

VTKConfig.cmake
vtk-config.cmake

Add the installation prefix of "VTK" to CMAKE_PREFIX_PATH or set "VTK_DIR"
to a directory containing one of the above files. If "VTK" provides a
separate development package or SDK, be sure it has been installed.

CMake Error at Examples/GUI/Win32/SampleMFC/CMakeLists.txt:5 (MESSAGE):
Please set VTK_DIR.

这里,将VTK_DIR目录设置为本身这个文件就可以.../VTK5.10.1-bin,继续点击Configuring,直到没有红色选项,期间要把Advanced点开,要不然可能有些红色选项被隐藏了没有看到。最后点击Generate。

8. 用VS2012打开…\VTK5.10.1-bin\Utilities\MaterialLibrary目录下的 MaterialLibrary.sln 文件,右键点击All_Build选择重新生成。把…\VTK5.10.1-bin \bin\Debug里生成的vtksys.dll拷贝到Windows\SysWOW64下。或者打开VS2012的属性管理器,双击任意“Microsoft.Cpp.Win32.user”,弹出属性页,在里面VC++目录的 Library Directories 中将bin文件夹中的Debug包括进去。(这是看网上的操作,所以我也做了这一步)

9. 打开…\ VTK5.10.1-bin下的VTK.sln,右键点击All_Build选择设为启动项目,然后点击工具栏-生成-生成解决项目<F7>,或者快捷键点<F7>即可。(时间很长,我的电脑上跑了半个多小时。具体时间和电脑配置有关)

10. 生成结果产生错误:

  1. 生成的最后出现错误fatal error C1189: #error: This file requires _WIN32_WINNT to be #defined at least to 0x0403. Value 0x0501 or higher is recommended.:这是由于使用mfc工程的时候产生的错误,需要改源文件,参考http://blog.sina.com.cn/s/blog_91eda2760102wjgo.html
  2. Link错误:

①在解决方案中分别找到vtkDLG,vtkMDI,vtkSDI这三个项目,右键→Properties→Configuration Properties→Linker→Input→在Additional Dependencies中添加..\..\..\..\..\bin\Debug\vtkIO.lib

②再找到Win32SampleMFC这个项目,与以上类似,添加..\..\..\..\bin\Debug\vtkIO.lib这样,就为这些项目加入了vtkIO.lib库。

这时,如果选择项目Cone6, Win32SampleMFC都可以调试通过,应该就没有问题了。

如果没有产生错误,则是由于camke阶段没有勾选VTK_USE_MFC原因导致的。

11. 运行例子

代码还是在百度云里面。

同样通过Cmake,版本要与之前的相一致。

注意事项:在运行例子的过程中,如果出现错误,那肯定是环境没有搭建好,因此需要重新搭建环境,我再运行程序的时候,出现过xxx.dll文件找不到,0xc000007b无法正常启动,link不到dll库等错误,如果一个dll文件找不到的话,可以在VTK5.10.1-bin文件夹下搜索 dll文件,然后复制到C:\Windows\SysWOW64,文件夹下,比较通用的解决方法是右键1.3_TestVTKInstall -> 属性-配置属性-调试-工作目录,将工作目录改成..\..\..\VTK5.10.1-bin\bin\Debug。

参考内容:

1. 参考:《VTK图形图像开发进阶》张晓东

2. https://www.cnblogs.com/guozw/p/6607829.html

3. https://blog.csdn.net/dedje/article/details/38820951

4. http://blog.sina.com.cn/s/blog_91eda2760102wjgo.html

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值