CMake error: ItkVtkGlue

CMake error: ItkVtkGlue

我构建了 VTK-8.0.0(使用 msvc2017_64)和 ITK-4.12.0(使用 msvc2017_64)。在 ITK-build 期间如下:


1) 构建 VTK (CMake3.9.0)

2)构建ITK(CMake3.9.0):Module_ITKVtkGlue + VTK_DIR this path C:\VTK.0.0\build\msvc2017_64

3)使用msvc2017编译VTK(Release模式)

4) 创建一个新的环境变量VTK_DIR,值为C:\VTK.0.0\build\msvc2017_64

5) 添加到路径:%VTK_DIR%\bin\Release

6)使用msvc2017编译ITK(Release模式)

7) 创建一个新的环境变量 ITK_DIR,值为 C:\ITK.12.0\build\msvc2017_64

8) 添加到路径:%ITK_DIR%\bin\Release


现在,我只想从下面的 link 构建和编译一个非常简单的项目: https://itk.org/Wiki/ITK/Examples/IO/ImageToVTKImageFilter

但是,我无法在 CMake 中配置项目,出现以下错误:

***************************************************************

CMake Error at C:/ITK/4.12.0/build/msvc2017_64/lib/cmake/ITK-4.12/Modules/ITKVtkGlue.cmake:14 (set):
  Syntax error in cmake code at

    C:/ITK/4.12.0/build/msvc2017_64/lib/cmake/ITK-4.12/Modules/ITKVtkGlue.cmake:14

  when parsing string

    C:\VTK.0.0\build\msvc2017_64

  Invalid escape sequence \V
Call Stack (most recent call first):
  C:/ITK/4.12.0/src/CMake/ITKModuleAPI.cmake:54 (include)
  C:/ITK/4.12.0/src/CMake/ITKModuleAPI.cmake:26 (itk_module_load)
  C:/ITK/4.12.0/src/CMake/ITKModuleAPI.cmake:84 (_itk_module_config_recurse)
  C:/ITK/4.12.0/build/msvc2017_64/ITKConfig.cmake:74 (itk_module_config)
  CMakeLists.txt:6 (find_package)


Configuring incomplete, errors occurred!
See also "C:/new_dev/tests/ImageToVTKImageFilter/build/CMakeFiles/CMakeOutput.log".
***************************************************************

为了解决这个问题,起初,我尝试添加一个路径为ItkVtkGlue的条目,但出现了同样的错误。然后,我单独创建了 ItkVtkGlue.lib,并添加了一个新的环境变量 ItkVtkGlue_DIR,其值为 C:\ItkVtkGlue\build\Release,还添加到路径中,并再次为 ItkVtkGlue 创建了一个条目,但是我得到同样的错误。

如果有任何帮助,我将不胜感激... 深切期待您的指点...

问题回到了由“\”定义的VTK_DIR。首先,我尝试将环境变量 VTK_DIR 中的所有“\”替换为“/”,但它导致了同样的错误。然后我将 VTK_DIR 定义为 CMake 中的一个条目,并且带有“/”的路径是专用的,同样的错误。事实上问题是由于 ITKVtkGlue.cmakeVTK_DIR 由“\”设置,我手动将它们替换为“/”,现在 ITK+VTK 正常...