现在的位置: 首页 > 综合 > 正文

VS2010 安装配置 vtk

2013年11月08日 ⁄ 综合 ⁄ 共 4220字 ⁄ 字号 评论关闭

VTK5.10.1 安装配置教程

1. 必须下载:

vtk-5.10.1.zip 源程序

vtkdata-5.10.1.zip 数据
(vtk相关安装程序下载:http://vtk.org


cmake-2.8.2-win32-x86.zip

cmake程序下载:http://www.cmake.org/HTML/Index.html

2. 将 vtk-5.10.1.zip 解压到d:\VTK5.10.1\VTK, 将vtkdata-5.10.1.zip解压到d:\VTK5.10.1\vtkdata

  

3. 解压 cmake-2.8.2-win32-x86.zip,运行{解压目录}\bin\cmake-gui.exe,设置sourse code目录为D:\VTK5.10.1\VTK\,build目录为D:\Program Files\VTK5.10.1\bin\

    按 configure 按钮,选Visual Studio 10编译器,然后cmake会描所需要的文件。

    选中 Advanced 再按 configure,可以看到一个vtk_use_guisupport,选择它,再按 configure, 选vtk_use_mfc,再configure,configure的次数是无所谓的。

    build_shared_libs: 如果设置为off,就只会生成lib 文件。如果设置为on,将会多生成 dll 文件,这些dll需要拷到windows/system目录下。如果用静态库编程,即off时,应用程序可以独立运行,尺寸也比较大,如果用动态库编程,即on时,应用程序必须找到动态库才能运行。

    所有项目会变成灰色后后可以点击 Generate,完成时会提示 Generating done,此时关闭cmake。

 

4. 用 vc++2010打开 D:\VTK5.10.1\bin\Utilities\MaterialLibrary目录下的 MaterialLibrary.sln 文件,右键点击All_Build选择重新生成。

  

5. 若 build_shared_libs 选择On,把D:\VTK5.10.1\bin\bin\Debug里生成的vtksys.dll文件拷到windows/system目录下。或者打开VS2010的属性管理器(视图->其他窗口->属性管理器),双击任意“Microsoft.Cpp.Win32.user”,弹出属性页,在里面VC++目录
Library Directories 中将bin文件夹中的Debug包括进去。

 

6. 打开D:\Program Files\VTK5.10.1\bin目录下的VTK.sln,右键点击All_Build选择重新生成。
    若build_shared_libs选择On,中途涉及MFC的示例会出错,

对应的解决办法为:
在Solution Explorer中分别找到vtkDLG、vtkMDI、vtkSDI这三个项目,右键—>Properties—>Configuration Properties—>Linker—>Input—>在Additional Dependencies中添加..\..\..\..\..\bin\Debug\vtkIO.lib
另外,再找到Win32SampleMFC这个项目,与以上类似地在Additional Dependencies中添加..\..\..\..\bin\Debug\vtkIO.lib
这样,就为这些项目加入了vtkIO.lib库。


一般还会出现如下的错误:

This file requires _WIN32_WINNT to be #defined at least to 0x0403. Value 0x0501 or
higher is recommended.

解决办法为:

右击_WIN32_WINNT,查找所有引用,将查找出的文件中的4个stdafx.h文件中的如下部分改动为:

// Modify the following defines if you have to target
a platform prior to the ones specified below.
// Refer to MSDN for the latest info on corresponding values for different platforms.
 #ifndef WINVER        // Allow use of features specific to Windows 95 and Windows NT 4 or later.
 #define WINVER 0x0601    // Change this to the appropriate value to target Windows 98 and Windows 2000 or later.
 #endif
 
 #ifndef _WIN32_WINNT    // Allow use of features specific to Windows NT 4 or later.
 #define _WIN32_WINNT 0x0601    // Change this to the appropriate value to target Windows 98 and Windows 2000 or later.
 #endif            
 
 #if _MSC_VER >= 1300
 #ifndef _WIN32_WINDOWS    // Allow use of features specific to Windows 98 or later.
 #define _WIN32_WINDOWS 0x0601 // Change this to the appropriate value to target Windows Me or later.
 #endif
 #endif
 
 #ifndef _WIN32_IE      // Allow use of features specific to IE 4.0 or later.
 #define _WIN32_IE 0x0800  // Change this to the appropriate value to target IE 5.0 or later.
 #endif

红字对应的是win7版本。

另外还要改动文件vtkMFCWindow.cpp中的部分代码:

// Allow use of features specific to Windows 95 and Windows
NT 4 or later.
#ifndef WINVER
#define WINVER 0x0601
#endif

// Define _WIN32_WINNT and _WIN32_IE to avoid the following error with Visual
// Studio 2008 SP1:
// "C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\sdkddkver.h(217) :
// fatal error C1189: #error :  _WIN32_WINNT settings conflicts with _WIN32_IE
// setting"

#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0601 // =_WIN32_WINNT_NT4
#endif
#ifndef _WIN32_IE
#define _WIN32_IE 0x0800 //=_WIN32_IE_IE60SP1
#endif

此时,应该没有问题了。

若出现cannot find vtkMFC.lib则是由于cmake阶段未勾选vtk_use_mfc

   然后右击Cone6,选择调试->启动新实例,这时可以看到正确运行的程序了。

 

8. 新建项目Test(控制台应用程序空项目),增加Test.cpp文件,用Cone6.cxx的文件内容覆盖Test.cpp的内容。

此时若出现无法找到vtkRendering.dll等错误,则是由于环境变量未配置正确。将bin文件夹下的debug路径加入Path,之后重启VS即可。

  

8.1 配置附加包含目录,位于项目属性->配置属性->c/c++/常规 的第一项,拷入入下述内容(具体可通过查看实例的附加包含目录):

"D:\PROGRAM FILES\VTK5.10.1\GenericFiltering";"D:\PROGRAMFILES\VTK5.10.1\Common";"D:\PROGRAM FILES\VTK5.10.1\IO";"D:\PROGRAMFILES\VTK5.10.1\Filtering";"E:\PROGRAM FILE\VTK\bin";"D:\PROGRAMFILES\VTK5.10.1\Rendering";"D:\PROGRAM FILES\VTK5.10.1\Graphics";"D:\PROGRAMFILES\VTK5.10.1\VolumeRendering";"D:\PROGRAM
FILES\VTK5.10.1\Imaging";"D:\PROGRAMFILES\VTK5.10.1\Hybrid";"D:\PROGRAM FILES\VTK5.10.1\GUISupport";"D:\PROGRAMFILES\VTK5.10.1\include\vtk-5.0";"D:\PROGRAM FILES\VTK5.10.1\Parallel";"D:\PROGRAMFILES\VTK5.10.1\lib"

 

8.2 附加依赖项,位于项目属性->链接器->输入 的第一项,拷入入下述内容(具体可通过查看实例的附加包含目录,切勿直接负责..\..\性质的内容,若想直接复制,请确保新建项目与拟拷配置的项目位于同一文件夹下):

kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ws2_32.lib vtkWidgets.lib vtkHybrid.lib vtkRendering.lib vtkGraphics.lib
vtkImaging.lib vtkIO.lib vtkFiltering.lib vtkCommon.lib vtksys.lib vtkVolumeRendering.lib

 

8.3 然后右击Cone6,选择调试->启动新实例,看到Cane6的实例窗口

抱歉!评论已关闭.