VTK Example代码编译运行

在VTK源码包的Example中,每个模块的例子都有一个CMakeList文件,可之间编译运行。
但VTK版本更新快,模块经常小改,而对于VTK6.x的Example的CMakeLists却没有改动,所以会造成编译错误,如

CMake Error at C:/VTK/CMake/vtkModuleAPI.cmake:120 (message):
Requested modules not available:

vtkRendering
Call Stack (most recent call first):
C:/VTKBuild/VTKConfig.cmake:84 (vtk_module_config)
CMakeLists.txt:11 (find_package)

我们需要进行编译迁移,这里给出了迁移说明。
举个例子

    cmake_minimum_required(VERSION 2.8.5 FATAL_ERROR)
    if(POLICY CMP0025)
      cmake_policy(SET CMP0025 NEW) # CMake 3.0
    endif()
    if(POLICY CMP0053)
      cmake_policy(SET CMP0053 NEW) # CMake 3.1
    endif()

    project (Step3)

    find_package(VTK COMPONENTS
      vtkFiltersSources
      vtkInteractionStyle
      vtkRendering${VTK_RENDERING_BACKEND}
    )
    -------------以上为改动部分(简单起见,直接用NO_MODULE)------------
    cmake_minimum_required(VERSION 2.8.7 FATAL_ERROR)
    PROJECT (Step3)
    find_package(VTK 6.0 NO_MODULE)


include(${VTK_USE_FILE})

add_executable(Cone3 MACOSX_BUNDLE Cone3.cxx)
target_link_libraries(Cone3 ${VTK_LIBRARIES})

你可能感兴趣的:(VTK)