1.提前下载以下四个文件
?? www.sychzs.cn
?? vtk-5.8.0-win32-x86.exe
?? www.sychzs.cn
?? cmake-2.8.12.2-win32-x86
2. 平台环境
?? win7 32位
??视觉工作室2010
3.开始安装
(1)。执行vtk-5.8.0-win32-x86.exe,安装路径为“C:\Program Files\VTK5.8.0”;
(2)。在D盘下新建文件夹VTK,然后在“D:\VTK”目录下新建三个文件夹:VTK-5.8-src、VTK-5.8-bin、VTKData;
(3)。将“www.sychzs.cn”压缩文件解压到“D:\VTK\VTK-5.8-src”文件夹,将“www.sychzs.cn”压缩文件解压到“D:\VTK\VTK-5.8-src”文件夹中\VTK\VTKData”文件夹;
(4)。执行“cmake-2.8.12.2-win32-x86”可执行文件,安装在“C:\Program Files\cmake 2.8”下;
(5)。运行cmake,如图
为其指定两个参数,“源代码在哪里:”指定路径:“D:\VTK\VTK-5.8-src”,
将“构建二进制文件的位置:”的路径指定为:“D:\VTK\VTK-5.8-bin”。然后点击“Configure”按钮开始配置VTK项目。如果遇到错误,应停止CMake,执行CMake菜单命令“文件->删除缓存”,清除缓存,并重新配置VTK项目。
(6)。配置完成后的CMake界面如下图,
(7)。接下来,您需要仔细确认CMake的配置选项,并选中Advanced复选框。下面列出了几个重要的选择:
BUILD_EXAMPLES - 默认情况下关闭。选择它意味着编译生成VTK自带的示例工程。建议选择;
BUILD_SHARED_LIBS - 默认关闭,即静态编译。如果选中,则表示动态编译,会生成很多.dll动态库。建议选择它,因为这里的.dll文件对以后的开发很有用;
VTK_DATA_ROOT——表示VTK编译过程中需要的数据,也就是上面www.sychzs.cn解压的路径。 CMake 会自动搜索该路径。如果未找到或者搜索结果与实际情况不符,请注意需要手动输入。
CMAKE_INSTALL_PREFIX——表示VTK的安装路径。默认路径是 C:\Program Files\VTK。您不需要使用该值。按默认就可以了。配置VTK后生成的工程中会有一个INSTALL工程。工程编译完成后,会在CMAKE_INSTALL_PREFIX指向的路径下生成VTK对应的头文件、lib文件和动态链接库dll文件。
VTK_USE_QT - 指示是否使用QT进行GUI开发。建议选择它,因为以后做较大的项目时,对GUI的要求会比较高,这时候MFC会很麻烦。
VTK_USE_GUISUPPORT - 指示 VTK 是否支持 GUI。必须选择此项,因为不需要在控制台下编程。无论您使用MFC还是WIN32 GUI,都需要选择此选项。
其他选项建议使用VTK官网默认设置。
设置选项后,再次单击“配置”按钮继续配置。
配置过程中可能会出现错误。一定要仔细检查错误选项的配置,确认路径是否错误,反复修改配置,直到所有选项都变成白底黑字,如上图所示,然后点击“生成”按钮生成VTK项目文件。
(8)上一步完成后,可以在指定文件夹D:\VTK\VTK-5.8-bin中看到,并生成如下图的目录结构:
这里的文件数量与CMake的配置选项有关。如果设置不同,生成的文件也会不同。区别在于文件是否存在。不会出现文件名相同但文件内容不一致的情况。
(9) 找到上图中的VTK.sln文件,打开工程,如下图:
共有158个项目。将编译版本设置为32位Debug版本,然后执行菜单命令“Build->Build Solution”。项目很多,编译需要一个多小时。请耐心等待。读者应该考虑返回并编译发布版本,以在未来的项目或研究中实现其好处。
(10)。执行步骤(9)后,你会发现D:\VTK\VTK-5.8-bin文件夹下多了一个bin文件夹。该文件夹中包含编译后的.lib 文件和.dll 文档。
(11) 编译完成后会出现错误。错误如下:
“_WIN32_WINNT”是一个宏,表示Windows的版本。 0x0403表示Windows NT 4.3的版本。这个版本很低,使用的编译器是VS2010。 VS2010显然不支持以前的Windows NT操作系统。这将导致错误。网上有人建议重新定义这个宏_WIN32_WINNT为大于0X0403的值,比如0X0501。不过修改宏会导致一系列的连锁错误,所以在不完全确定的情况下不建议这样做。其实,如果出现这样的错误,读者也不用太紧张。编译完成后,VTK工程生成了大量的.lib库和.dll文件,足以满足日常需要。如下所示,即使出现错误,大多数VTK程序仍然可以顺利编译。
(12)。初次构建后,会出现错误。网上有很多解决这些错误的方法,但大多数都没有效果。我这里没有做任何处理。我直接进入“D:\VTK\VTK-5.8-bin\bin\debug”目录,将所有生成的.dll文件复制到“C:\Windows\Syetem”文件夹中。如果步骤(6)中没有勾选“BUILD_SHARED_LIBS”,则这里不会生成.dll文件
(13)。至此,所有的配置和编译工作就完成了。关闭VS2010,在“D:\VTK\VTK-5.8-bin\Examples”路径下找到“VTKExamples.sln”文件,双击用VS2010工程打开,在“cone”子工程中找到“cone”子工程解决方案管理器,右键将其设置为当前活动项目“Set as StartUp Project”,如下图,
(14)。然后“构建”。一切无误后,选择“调试”->“启动而不调试”来运行项目。将出现如下所示的屏幕,
(15)。至此,说明所有的配置工作已经完成,但是如果想要定制自己的项目,还有更多的细节需要处理。整个过程比较复杂,读者一定要有耐心。谢谢你
?
1。 CMake安装
CMake安装用于编译前配置VTK。本博客使用的是CMake2.8。可以从 https://www.sychzs.cn/ 站点下载 CMake。
2。 VTK源码
VTK源代码可以直接从VTK官网下载。本博客下载的是两个压缩包www.sychzs.cn和www.sychzs.cn。
其中www.sychzs.cn是VTK的源代码。 www.sychzs.cn是VTK使用的数据文件。该文件不需要下载。
http://www.sychzs.cn/download/
在 D:\Program Files\ 目录下创建三个新目录。将www.sychzs.cn中的文件解压到VTKSrc目录下,将www.sychzs.cn中的文件解压到VTKData目录中。 VTKBin目录用于存放CMake生成的工程文件和编译文件。
解压完成后各文件夹结构如下:
VTKSrc
VTK数据
3。 CMake配置项目
打开CMake,输入源代码和输出文件路径,并进行配置。设置以下配置项:
1。构建_示例?该选项位于 BUILD 组中。
该选项指示是否在VTK中编译例程。不勾选时,可以缩短编译时间。如果需要学习VTK中的内置例程,可以选择该选项。
请勿在此选择此项。
2。 BUILD_SHARED_LIBS 也位于 BUILD 组中。选择它意味着编译生成DLL文件,即生成动态链接库。不选择时,编译成静态库。
3。构建_测试?在构建组中。
检查是指编译测试代码。取消选中此处可以缩短编译时间。
4。 CMAKE_INSTALL_PREFIX位于CMAKE组中,指向VTK生成路径。这里使用其默认路径C:\Program Files (x86)\VTK。
5。 VTK_DATA_ROOT 位于 VTK 组中。 www.sychzs.cn的解压路径。这里可以手动更改为D:\Program Files\VTKData。
6。 VTK_USE_GUISUPPORT属于VTK组,表示是否支持GUI。为了使用 MFC 界面,请在此处选中此选项。
注意事项。点击Config后,会出现VTK_USE_MFC选项。您需要勾选该选项并重新进行Config。
Config后无红色标记即可进行Generate。
4。在VS2010中编译项目
假设前面的步骤没有问题,会在VTKBin文件夹中生成如下文件:
打开VTK.slnproject文件,然后打开“Build”->“Build Solution”。这时候项目就开始编译了。编译时间取决于计算机的性能。一般情况下,项目编译半小时左右。
编译完成后,选择如下图。
此时,我们之前选择的VTK生成文件夹中就会生成我们需要的lib文件、头文件、dll文件等。
因为默认情况下生成文件的文件夹位于C:\Program Files (x86)\VTK。
我们可以到文件夹中查看是否生成了我们想要的文件。也许我们需要用到的就是这三个文件夹的内容。
5。测试VTK编译结果
编译完成后,创建一个win32控制台应用程序来测试安装和编译结果。
打开vs2010并创建一个新的win32控制台应用程序。创建完成后,将cpp文件添加到项目中。然后配置我们的项目。在菜单栏中选择“视图”->“属性管理器”。
因为我们目前使用的是Debug版本来编译。所以这里我们只需要设置Debug下的配置文件即可。双击打开 Microsoft.Cpp.win32.User。将VTK生成文件夹下的include文件夹添加到include文件夹中,这里是C:\Program Files (x86)\VTK\include\vtk-5.10。将VTK生成文件夹下的lib文件夹添加到library文件夹中。这是 C:\Program Files (x86)\VTK\lib\vtk-5.10。
配置完成后,就可以在cpp文件中编写程序代码了。
可以编写如下程序代码来测试程序。
#include“vtkConeSource.h”
#include“vtkPolyDataMapper.h”
#include "vtkRenderWindow.h"
#include“vtkCamera.h”
#include "vtkActor.h"
#include "vtkRenderer.h"
#include "vtkProperty.h"
#包括
#include "windows.h"
int main()
{
int k = 0 ;
vtkConeSource *cone = vtkConeSource::New();
锥体->SetHeight(3.0);
圆锥体->SetRadius(1.0);
锥体->设置分辨率(10);
vtkPolyDataMapper *coneMapper = vtkPolyDataMapper::New();
coneMapper->SetInputConnection(cone->GetOutputPort());
vtkActor *coneActor = vtkActor::New();
coneActor->SetMapper(coneMapper);
vtkRenderer *ren1 = vtkRenderer::New();
ren1->AddActor(coneActor);
ren1->设置背景(0.1,0.2,0.4);
vtkRenderWindow *renWin = vtkRenderWindow::New();
renWin->AddRenderer(ren1);
renWin->SetSize(300,300);
int i = 0;
为 (;i<360;++i)
{
renWin->Render();
ren1->GetActiveCamera()->方位角(1);
睡眠(10);
}
scanf("%d",&k);
锥体->删除();
coneMapper->Delete();
coneActor->删除();
ren1->删除();
renWin->删除();
返回0;
}
这个时候编译会发现有错误,那是由于无法编译时须要的lib文件。我们须菜单这里加入依赖库文件。条中选择项目->属性。
打开链接器。选择输入。
在附加依赖项中加入程序中必要的lib文件。
这时候再去编译程序发现没有错误了。但是执行程序的时候会跳出不需要安装的dll文件。这是程序无法找到执行时的动态链接库导致的。
解决的方法有多种:
1。将VTK生成文件夹(即C:\Program Files (x86)\VTK\bin文件夹)中的所有dll文件复制到C:\Windows\System32文件夹中。
2。或者添加系统环境变量。返回电脑桌面。右键单击计算机。属性。检查高级系统设置。
检查高级选项卡。
点击环境变量,在PATH变量下添加C:\Program Files (x86)\VTK\bin。假设打开后没有PATH。您可以自己添加 PATH 变量。假设打开后有PATH。而且里面已经有内容了,所以添加的时候需要注意。每个值需要用分号分隔;
(这里的分号必须是英文模式下输入,即必须是半角字符。)
环境卷配置完成后,一般不会立即生效。此时,您可以再次启动计算机。
完成上述配置后,即可执行程序。执行结果如下。
VS2010+QT+VTK配置详情
由于学习需要,最近在电脑上配置了VS2010、Qt和VTK。
1。下载资源(https://www.sychzs.cn/mdxiaohu/article/details/86502707)博主在这篇文章中详细介绍了如何配置VS2010和Qt4.8.4,并友情提供下载网盘。 **但需要注意的是:** 博主提供的vtk5.10.0和cmake版本在我的尝试中会出现各种问题,所以我建议更改为其他版本配置。
(1)VS2010和Qt4.8.4按照上面的文章下载、配置和安装。
(2)cmake3.8.10链接:https://www.sychzs.cn/s/1CtaPyJn6euxK94JmHiWo9w 提取码:1111 一路下载解压安装即可。需要注意的是:谨慎选择添加系统路径和桌面图标。
(3)vtk7.1.1 尝试vtk5.10.0无果后,我从官网下载了vtk7.1.1版本(最新的9版本似乎无法在VS2010上配置)。官网链接:https://www.sychzs.cn/download/ 两个资源任选其一,唯一的区别是压缩大小。
2.vtk7.1.1配置具体配置过程可以参考这篇文章:https://www.sychzs.cn/GENGXINGGUANG/article/details/106820207 注意,这一步选择的是VS2010版本。
3。遇到的问题(1)vtk报错“无法继续执行代码,因为...找不到dll”解决办法
如图所示的问题出现在连接vs和vtk库的步骤中。我在网上搜索了解决方案,有人告诉我将dll库一一复制。我尝试过,但没有成功。可以发现这些dll都在一个文件夹中,所以只需要将工作目录连接到这个文件夹即可。最后,希望这篇文章对您有所帮助。谢谢上面提到的博主。