2017-07-28 139 views
0

我建VTK-8.0.0(使用msvc2017_64)和ITK-4.12.0(使用msvc2017_64)。在ITK - 建造如下:CMake錯誤:ItkVtkGlue


1)構建VTK(CMake3.9.0

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

3)VTK使用msvc2017編譯(在釋放模式)

4)創建一個新的環境變量VTK_DIR與值C:\VTK\8.0.0\build\msvc2017_64

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

6)ITK使用msvc2017(在Release模式)

7)創建一個新的環境變量ITK_DIR與值C:\ITK\4.12.0\build\msvc2017_64

8)添加到編譯路徑:%ITK_DIR%\bin\Release


而現在,我只是想建立,並從下面的鏈接編譯一個非常簡單的項目: 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\8.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創建條目,但我得到了同樣的錯誤。

我希望得到任何幫助...... 深切期待着您的意見...

+1

'創建一個新的環境變量VTK_DIR,值爲'C:\ VTK \ 8.0.0 \ build \ msvc2017_64'' - 爲CMake設置路徑變量時,請勿在其中使用反斜槓,而應使用正斜槓:'C:/ VTK/8.0.0/build/msvc2017_64'。 – Tsyvarev

+1

[Cmake錯誤:無效的轉義序列\ U]可能重複(https://stackoverflow.com/questions/13737370/cmake-error-invalid-escape-sequence-u) – Tsyvarev

+0

首先,謝謝,我做到了,同樣的錯誤。請查看https://ibb.co/cZNr9k ***只是提醒一下,在構建個人itk或vtk項目時,它運行良好,但對於itk + vtk,我遇到了這樣的錯誤。 – ir0098

回答

1

問題又回到這是由「\」中定義的VTK_DIR。首先,我嘗試用「/」替換環境變量VTK_DIR中的所有「\」,但導致相同的錯誤。然後,我將VTK_DIR定義爲CMake中的Entry,並且使用「/」的路徑是專用的,同樣的錯誤。實際上問題是由於ITKVtkGlue.cmakeVTK_DIR由「\」設置,我手動將其替換爲「/」,現在ITK+VTK進行得很順利......