VS2013配置VTK7.1.1

来源:互联网 发布:dive into python 2 编辑:程序博客网 时间:2024/06/01 10:22

作为一个新手小白,这两天配置VTK出现了各种问题,解决过程中极其痛苦,将配置过程记录下来。
1、安装VTK
VTK可以从http://www.vtk.org/download/ 网站免费下载,一般只需要下载VTK源文件压缩即可,如果需要使用样例数据,还需下载VTK数据压缩包。此外,还要用到CMake工具,可以从https://cmake.org/download/ 免费下载。

这里写图片描述

1)将VTK源代码包解压到D:Program Files\VTK目录下。
2)将VTK数据包解压到D:Program Files\VTK\VTKData目录下。
注:VTK目录和VTKData目录是自己创建的,可以自行指定位置,可以是任何名字,但是最好不要使用中文命名,以免出现问题。
2、安装CMake
安装CMake是和普通的程序安装没有任何区别,只有一步需要稍微说明一下。当询问是否将CMake添加到系统路径,默认是不添加的,这主要是为那些习惯命令行操作方式的用户准备的。如果想深入了解CMake,可以选择将其添加到系统路径,但是即使现在不选择,以后也可以在PATH环境变量中手动添加。
选择:Add CMake to the system PATH for all users这一项
安装完成后,打开CMake,期主界面如图所示。

这里写图片描述

1)在Where is the source code:处,单击按钮Browse Source,指定VTK源代码所在路径,这里应该是D:\Program Files\VTK。
2)在Where to build the binaties:处,单击按钮Browse Build,指定将要生成工程的路径,这里选择D:\Program Files\VTK\bin(bin是新建的目录)。
3)然后单击按钮Configure,打开如图所示的编译器选择对话框。

这里写图片描述

单击Finish按钮关闭编译器选择对话框,即可启动配置。这是按钮Gonfigure变成按钮Stop,随时可以中断配置。
会出来红色的扫描结果。

这里写图片描述

下面是比较重要的选项。
CMAKE_INSTALL_PREFIX为默认安装路径,也是INSTALL工程生成的地方,系统默认为C:\Program Files\VTK。
Build推荐勾选如下:

这里写图片描述

BUILD_EXAMPLES:在BUILD分组里,用来询问是否生成VTK所带的例子。不勾选状态下时可以缩短编译的时间,需要学习VTK中自带例程的可以选择该项。(初学者,建议选择生成VTK所带的例子,默认是不选择的。)
BUILD_SHARED_LIBS:在BUILD分组里,用来询问是否生成动态链接库。选中代表编译生成DLL文件,也就是生成动态链接库,不选中时编译成静态库,只生成LIB文件。DLL文件需要复制到WINDOWS的system32目录下。如果不选择此项,应用程序可以独立运行,但是可执行文件的体积比较大;如果选择此项,应用程序必须需要生成的dll动态库支持才能运行,但可执行文件的体积可以做的比较小。建议选择此项,默认是不选择的。
BUILD_TESTING: 在BUILD分组里,选中代表编译测试代码。
根据需要对VTK_Group进行勾选:

这里写图片描述

VTK_USE_GUISUPPORT: 在VTK分组里,表示是否支持GUI。如果想在MFC应用程序中使用VTK,那么就必须选择此项。因为只有打开这个选项,然后再次点击Configure按钮才能打开VTK_USE_MFC选项,需要勾该选项再次进行Configure。如果无法运行VTK中与MFC混合编程的例子,提示错误都是缺少vtkmfc.lib,问题就出现在这个选项上。建议选择此项,默认是不选择的。
TK_USE_MFC:在VTK分组里,如果已打开VTK_USE_GUISUPPORT选项,并再次单击按钮Configure,才能看到这个选项,建议选择此项,默认是不选择的。
我因为没下QT所以VTK_Group_Qt没有选择。
修改完成后重新Configure,直到没有红色为止,然后Generate。如下图所示

这里写图片描述

3、生成VTK
在D:\Program Files\VTK\bin目录下,找到“VTK.sln”解决方案文件,双击这个文件,用vs打开它。右键点击ALL_BUILD,选择重新生成,该步骤耗时较长。
第一次生成后会有一些链接错误,比如打不开….\lib\Debug下的vtkViewsInfovisPython27D-7.1.lib文件,可能是由于生成顺序导致,因此再生成一遍,可以减少一部分错误。我在生成ALL_BUILD时,没有出现任何问题,还算是比较幸运的。
生成成功后找到INSTALL项目,右击选择仅用于项目->仅生成INSTALL,会在CMAKE_INSTALL_PREFIX设置的目录下生成include目录,包含VTK需要的头文件。
在这步生成INSTALL是,就出现了一个问题,错误如下。

这里写图片描述

这个问题通过将VS2013设置为管理员权限运行就解决了。当时卡在这好久。

4、运行Examples
4.1 CMake编译
运行CMake
source code,例如:D:/Program Files/VTK/VTK-7.1.1/Examples/Tutorial/Step1/Cxx。
build the binaries,例如:D:/Program Files/VTK/VTKCode/Step1。
第一次configure之后需要填入一些参数,其中VTK_DIR填入VTKConfig.cmake所在路径,一般情况下是安装VTK时配置的生成路径, 即为C:/Program Files/VTK/lib/cmake/vtk-7.1,CMAKE_INSTALL_PREFIX是生成INSTALL.vcxproj的地方,默认是C盘,可以修改到工程文件生成目录下,我修改到了目录D:/Program Files/VTK/Step1下。configure之后generate。编译之后到工程文件目录下D:/Program Files/VTK/VTKCode/Step1,可以找到Step1.sln,打开之后选择Cone作为启动项目进行生成,生成成功即可运行。
4.2 新建项目在编译
完成之后,建立一个win32控制台应用程序来测试安装编译结果。
打开vs2013,新建一个win32控制台应用程序。创建完成之后,向项目中添加一个cpp文件。随后配置我们的项目。
在菜单栏中选择视图->属性管理器。

这里写图片描述

由于目前使用的是Debug版本编译,所以在此我们只需要去设置Debug下的配置文件。双击打开Microsoft.Cpp.win32.User。
在包含目录中添加VTK生成目录下的include文件夹,这里是C:\Program Files\VTK\include\vtk-7.1。
在库目录中添加VTK生成目录下的lib文件夹,这里是C:\Program Files\VTK\lib。

这里写图片描述

在Microsoft.Cpp.win32.User的属性页面,打开链接器,选择输入。添加附加依赖项。

这里写图片描述

CMake设置时没有勾选VTK_Group_Qt选择项,编译的时候出现了错误,LINK1104:无法打开文件件vtkGUISupportQt-7.1.lib然后把所有带有**Qt.lib的附加项目删除之后才可以。但是在编译的过程中还是出现中断错误。
在程序中加了三行代码就可编译通过

#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkRenderingOpenGL2);VTK_MODULE_INIT(vtkInteractionStyle);
1 0
原创粉丝点击