使用VS2010创建MFC工程,并添加VTK引用

很多步骤是从网上找的,再结合自己的实际过程,进行改写。

软件:VS2010

     CMake - 2.8.12.2

     VTK  - 6.1.0

1.安装vtk-win32.exe,安装到d:\vtk,目录尽量短,因为后面引用更方便。
2.将vtk源代码解压到d:\vtk\sourcecode
3.下载vtkdata.zip,这是vtk例子所需要的数据,解压到d:\vtk\vtkdata

4.安装cmake,运行后界面如下图所示:


5.安装Visual Studio 2010
6.运行cmake
7.在第一个文本框“where is the source code”中选择“D:/VTK/sourcecode”目录。
8.在第二个文本框“where to build the binaries”中选择输出目录,如:“d:/vtk/bin”
9.点击“configure”按钮,选择“visual studio 10”(vs2010),然后,cmake 就会对系统举行扫描了,停下来之后,我们就可以修改cmake选项了。扫描的历程中不能出现不论什么错误,不论什么错误都会导致后来编译VTK.dsw的错误,纵然能够扫描完成。有错误的话,就要把D:\vtk\bin\目录下除vtk.exe以外的所有文件和文件夹删除,重新configure。
10.查看列表中的选项,vtk_data_root,浏览到例子数据所在位置,如“d:\vtk\vtkdata”
11.build_examples:勾选上则编译例子,
12.build_testing: 勾选上则编译测试代码,也是例子
13.vtk_use_parallel:勾选
14.build_shared_libs: 设置为on,将会多生成 dll 文件,这些dll需要拷到windows/system目录下。要是用静态库编程,即off时,应用程序可以独立运行,尺寸也比较大,要是用动态库编程, 即on时,应用程序必须找到动态库才能运行,但尺寸可以做得比较小。
15.点击“Advanced”选项,找到vtk_use_guisupport: 很多人把vtk 安装好了,却无法运行vtk 中与mfc 混合编程的例子,提示错误都是缺少vtkmfc.lib,问题就出在这个选项,我们必须把它设置为 on,再configure 之后,会出现一个新的选项vtk_use_mfc,把它也设置为on
16.修改完cmake 选项以后,不停的按configure 按键,直到没有选项预示为红色
17.点击“Generate”按钮,在bin目录下生成vtk.sln等文件。
18.用Visual Studio 2010编译bin 目录下的VTK.sln文件,生成解决方案,时间较长。结果保存在. D:\vtk\bin\bin目录下。
注意:如果在编译的时候,出现一个error,是由于windows的IE版真相对vs2008过低,提示sdk中一个错误。找到vtkMFCwindow.cpp,将前面的宏定义修改为:
  #define WINVER 0x0501//你可改为更高版本
  #endif
#define _WIN32_WINNT 0x0500 // 这是我改的
#endif

20.将D:\vtk\bin\bin\debug这个文件夹选择此中所有的DLL 后缀的文件全部复制到c:\windows\system32 (调试时推荐),或者拷贝到VC项目可执行文件所在位置(安装到其他机器时拷贝)。


VC项目设置
1.创建MFC项目
2.然后在菜单栏中选择项目->属性,选择配备属性。
3.在"C/C++"->"常规"->"附加包含目录"中,添加目录
D:/VTK/bin;D:/VTK/bin/Common;D:/VTK/bin/Utilities;D:/VTK/bin/VolumeRendering;D:/VTK/bin/Rendering;D:/VTK/bin/Charts;D:/VTK/bin/GUISupport/MFC;D:/VTK/bin/Utilities/vtkalglib;D:/VTK/sourcecode/Infovis;D:/VTK/sourcecode/Geovis;D:/VTK/sourcecode/Views;D:/VTK/sourcecode/Parallel;D:/VTK/sourcecode/VolumeRendering;D:/VTK/sourcecode/Hybrid;D:/VTK/sourcecode/Widgets;D:/VTK/sourcecode/Rendering;D:/VTK/sourcecode/Charts;D:/VTK/sourcecode/Rendering/Testing/Cxx;D:/VTK/sourcecode/IO;D:/VTK/sourcecode/Imaging;D:/VTK/sourcecode/Graphics;D:/VTK/sourcecode/GenericFiltering;D:/VTK/sourcecode/Filtering;D:/VTK/sourcecode/Common;D:/VTK/sourcecode/Utilities;D:/VTK/sourcecode/Common/Testing/Cxx;D:/VTK/bin/Utilities/vtklibproj4;D:/VTK/sourcecode/Utilities/vtklibproj4;D:/VTK/bin/Utilities/DICOMParser;D:/VTK/sourcecode/Utilities/DICOMParser;D:/VTK/bin/Utilities/vtkfreetype/include;D:/VTK/sourcecode/Utilities/vtkfreetype/include;D:/VTK/bin/Utilities/MaterialLibrary;D:/VTK/sourcecode/Utilities/MaterialLibrary;D:/VTK/bin/Utilities/verdict;D:/VTK/sourcecode/Utilities/verdict;D:/VTK/bin/Utilities/vtkhdf5;D:/VTK/sourcecode/Utilities/vtkhdf5;D:/VTK/bin/Utilities/vtkhdf5/src;D:/VTK/sourcecode/Utilities/vtkhdf5/src;D:/VTK/bin/Utilities/Cosmo;D:/VTK/sourcecode/Utilities/Cosmo;D:/VTK/bin/Utilities/VPIC;D:/VTK/sourcecode/Utilities/VPIC;D:/VTK/sourcecode/Utilities/utf8/source;D:/VTK/sourcecode/GUISupport/MFC;D:/VTK/sourcecode/Utilities/vtkalglib;%(AdditionalIncludeDirectories)
方法一:可以通过CMake来生成项目
1  首先,建立一个MFC对话框程序,工程名Viewer,删除掉自动生成的.ncb和.sln文件(在下一步用CMake重新生成)
2  使用CMake进行配置工程的VTK环境,CMakeLists.txt文件如下,需要修改的地方:VTK路径; StdAfx,Viewer,ViewerDlg,Viewer.rc,res/Viewer.rc2 则是刚刚建立的工程ImageViewer所自动生成的源文件和资源文件
cmake_minimum_required(VERSION 2.6)
IF(NOT VTK_DIR)
  MESSAGE(FATAL_ERROR "Please set VTK_DIR.")
ENDIF(NOT VTK_DIR)
INCLUDE(${VTK_USE_FILE})
INCLUDE("D:/VTK-5.6/vtk-5.6.1/GUISupport/MFC/VTKMFCSettings.cmake")
IF(VTK_MFC_DELAYLOAD_VTK_DLLS)
  VTK_MFC_ADD_DELAYLOAD_FLAGS(CMAKE_EXE_LINKER_FLAGS
    vtkMFC.dll
    vtkRendering.dll
    vtkIO.dll
    vtkFiltering.dll
    vtkCommon.dll
    )
ENDIF(VTK_MFC_DELAYLOAD_VTK_DLLS)
SET( vtkDLG_SRCS
 StdAfx
 Viewer
 ViewerDlg
 Viewer.rc
 res/Viewer.rc2
)
  TARGET_LINK_LIBRARIES(vtkDLG ${VTK_MFC_EXTRA_LIBS})
ENDIF(VTK_MFC_EXTRA_LIBS)


  #ifndef WINVER
#ifndef _WIN32_WINNT
另外还有一个错误:vtkio.dll延迟加载失败,改成添加vtkio.lib文件 
19.生成成功后在VS2010下打开解决方案INSTALL.vcproj,再生成解决方案。上边要是已往的话执行INSTALL.vcproj会很顺遂,没有错误。


方法二:直接设置(推荐)
4.在“链接器”->"常规"->"附加库目录"中,选择“从父级或项目默认设置继承”
5.在"链接器"->"输入"->"附加依赖项"中,添加lib:kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib;DelayImp.lib;D:\VTK\bin\bin\Debug\vtkMFC.lib;D:\VTK\bin\bin\Debug\vtkRendering.lib;D:\VTK\bin\bin\Debug\vtkIO.lib;D:\VTK\bin\bin\Debug\vtkFiltering.lib;D:\VTK\bin\bin\Debug\vtkCommon.lib;DelayImp.lib;D:\VTK\bin\bin\Debug\vtkGraphics.lib;D:\VTK\bin\bin\Debug\vtkImaging.lib;D:\VTK\bin\bin\Debug\vtkFiltering.lib;D:\VTK\bin\bin\Debug\vtkCommon.lib;D:\VTK\bin\bin\Debug\vtksys.lib;ws2_32.lib
6.在"链接器"->"输入"->"延迟加载的DLL":vtkMFC.dll;vtkRendering.dll;vtkIO.dll;vtkFiltering.dll;vtkCommon.dll


FIND_PACKAGE(VTK)




ADD_EXECUTABLE(vtkDLG WIN32 ${vtkDLG_SRCS})
IF(VTK_MFC_EXTRA_LIBS)
TARGET_LINK_LIBRARIES(vtkDLG vtkMFC vtkRendering vtkIO vtkFiltering vtkCommon)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
vtk8.2是一个用于数据可视化和图像处理的开源库,可以在MFC应用程序中使用。以下是在MFC应用程序中安装vtk8.2的步骤: 1. 下载vtk8.2的安装文件:可以在vtk的官方网站上下载vtk8.2的安装包,选择与您的系统相匹配的版本。 2. 解压安装文件:将下载的文件解压到您想要安装vtk的位置。 3. 配置环境变量:在系统环境变量中添加vtk的路径。打开控制面板,选择“系统和安全”,然后选择“系统”。在弹出的对话框中,选择“高级系统设置”,然后点击“环境变量”。在系统变量中找到“Path”,点击“编辑”,将vtk的路径添加到变量值中。 4. 配置MFC项目:打开您的MFC项目,右击“属性”选项,选择“VC++目录”,然后选择“包含目录”并添加vtk的路径。同样,选择“库目录”并添加vtk的lib文件路径。 5. 包含vtk头文件:在您的MFC项目中的源文件中包含vtk的头文件。例如: ```cpp #include "vtkAutoInit.h" VTK_MODULE_INIT(vtkRenderingOpenGL2) #include "vtkActor.h" #include "vtkRenderWindow.h" ... ``` 6. 链接vtk库文件:在您的MFC项目的链接器设置中,添加vtk库文件的名称。例如,在“连接器”->“输入”->“附加依赖项”中添加以下文件名: ```txt vtkCommonCore-8.2.lib vtkFiltersCore-8.2.lib vtkRenderingCore-8.2.lib ... ``` 7. 构建和运行项目:保存并构建您的MFC项目,然后运行它。现在,您可以在MFC应用程序中使用vtk8.2库来进行数据可视化和图像处理了。 这是vtk8.2在MFC应用程序中的安装过程。希望能够帮助到您!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值