VS2013配置VTK7.1.1

作为一个新手小白,这两天配置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);
  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
### 回答1: 是的,有很多需要使用脚本监视的地方。以下是其的一些: 1. 监视进程是否运行 - 有时候需要确保某个进程一直在运行,如果进程异常退出,需要及时重新启动它。 2. 监视进程占用的系统资源 - 可以使用脚本监视进程的 CPU 使用率、内存使用率等,以便及时发现并解决资源占用过高的问题。 3. 监视进程的日志输出 - 有时候需要查看进程的日志输出,以便及时发现问题并解决。 4. 监视进程的状态 - 可以使用脚本监视进程的状态,如运行状态、停止状态等,以便及时发现并解决问题。 5. 监视进程的退出码 - 在某些情况下,需要监视进程的退出码,以便及时发现并解决问题。 总之,脚本可以方便地对进程进行监视和管理,以确保进程的正常运行和稳定性。 ### 回答2: 在Linux,进程是系统正在运行的程序的实例。虽然Linux具有强大的进程管理功能,但有时候仍然需要使用脚本来监视进程。以下是需要使用脚本监视进程的一些情况: 1. 自动重启进程:当某个进程崩溃或意外终止时,可以使用脚本监视该进程,并在发现进程异常时自动重启它。这确保了进程的持续可靠运行,提高了系统的稳定性。 2. 监控进程的资源使用情况:通过脚本,可以周期性地监测进程的CPU使用率、内存占用情况等资源使用情况。这样可以及时发现进程的异常状态,避免出现过载、内存泄漏等问题。 3. 进程异常行为检测:使用脚本可以监视进程的行为,并在发现进程执行不正常的操作时进行警告或采取相应的措施。例如,当一个进程尝试未经授权的系统调用、访问受限资源等行为时,可以通过脚本及时发现和应对。 4. 进程启动和关闭的管理:脚本可以监视和管理进程的启动和关闭过程。例如,当一个进程启动后,脚本可以记录启动时间,或者在进程异常关闭时发送警报。 5. 资源和性能优化:通过脚本,可以监测并优化进程的资源和性能使用。例如,根据进程的运行需求,在资源空闲时启动进程并在高负载时限制进程的资源分配。 总之,虽然Linux本身具有强大的进程管理功能,但是使用脚本监视进程可以进一步提高系统的稳定性、安全性和性能。 ### 回答3: 在Linux,进程是系统运行的程序的实例。虽然Linux内核可以自动管理进程的创建和销毁,但有时候我们仍然需要使用脚本来监视进程的运行情况。 首先,脚本可以用来检测进程是否正在运行。通过使用命令如"ps"和"pgrep",我们可以在脚本检查指定进程的ID是否存在,如果不存在则说明进程已经终止。 其次,脚本还可以监视进程的资源使用情况。使用命令如"top"、"ps"和"free",我们可以在脚本获取进程的CPU占用、内存占用和磁盘IO等信息。这样可以及时发现并解决因资源不足导致的性能问题。 另外,脚本还可以监视进程的运行时间。我们可以通过记录进程的启动时间和当前时间的差值,来判断进程是否已经运行了太久,如果是则可能需要重启该进程以提高系统的稳定性和可用性。 此外,脚本还可以用来监视进程的日志输出。通过定期检查进程的日志文件,我们可以及时发现并解决因错误或异常导致的进程崩溃或故障。 总之,Linux的进程确实有一些需要使用脚本监视的地方。通过使用脚本来监视进程的运行情况、资源使用情况、运行时间和日志输出,我们可以及时发现并解决因进程异常而导致的系统问题,从而提高系统的稳定性和可用性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值