ninja: ошибка: build.ninja: неверный $-escape (буквальный $ должен быть записан как $$)

#c #visual-studio #cmake #ninja

Вопрос:

Я получаю следующую ошибку при компиляции SeqAn Framework:

 1> [CMake] CMake Error:
1> [CMake]   Running
1> [CMake] 
1> [CMake]    'C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja/ninja.exe' '-C' 'C:/Users/pc/source/repos/seqan/out/build/x64-Clang-Debug' '-t' 'recompact'
1> [CMake] 
1> [CMake]   failed with:
1> [CMake] 
1> [CMake]    ninja: error: build.ninja:152: bad $-escape (literal $ must be written as $)
1> [CMake] 
1> [CMake]   
1> [CMake] 
1> [CMake] 
1> [CMake] 
1> [CMake] CMake Generate step failed.  Build files cannot be regenerated correctly.
1> 'C:WINDOWSsystem32cmd.exe' '/c "%SYSTEMROOT%System32chcp.com 65001 >NUL amp;amp; "C:PROGRAM FILES (X86)MICROSOFT VISUAL STUDIO2019PROFESSIONALCOMMON7IDECOMMONEXTENSIONSMICROSOFTCMAKECMakebincmake.exe"  -G "Ninja"  -DCMAKE_BUILD_TYPE:STRING="Debug" -DCMAKE_INSTALL_PREFIX:PATH="C:UserspcSourceReposseqanoutinstallx64-Clang-Debug" -DCMAKE_CXX_COMPILER:FILEPATH="C:/Program Files/LLVM/bin/clang-cl.exe"  -DCMAKE_MAKE_PROGRAM="C:PROGRAM FILES (X86)MICROSOFT VISUAL STUDIO2019PROFESSIONALCOMMON7IDECOMMONEXTENSIONSMICROSOFTCMAKENinjaninja.exe" "C:UserspcSourceReposseqan" 2>amp;1"' execution failed with error: ''C:WINDOWSsystem32cmd.exe' '/c "%SYSTEMROOT%System32chcp.com 65001 >NUL amp;amp; "C:PROGRAM FILES (X86)MICROSOFT VISUAL STUDIO2019PROFESSIONALCOMMON7IDECOMMONEXTENSIONSMICROSOFTCMAKECMakebincmake.exe"  -G "Ninja"  -DCMAKE_BUILD_TYPE:STRING="Debug" -DCMAKE_INSTALL_PREFIX:PATH="C:UserspcSourceReposseqanoutinstallx64-Clang-Debug" -DCMAKE_CXX_COMPILER:FILEPATH="C:/Program Files/LLVM/bin/clang-cl.exe"  -DCMAKE_MAKE_PROGRAM="C:PROGRAM FILES (X86)MICROSOFT VISUAL STUDIO2019PROFESSIONALCOMMON7IDECOMMONEXTENSIONSMICROSOFTCMAKENinjaninja.exe" "C:UserspcSourceReposseqan" 2>amp;1"' returned with exit code: 1'.
 

Ниже приведен мой файл CMakeSettings_schema.json:

 {
  "configurations": [
    {
      "name": "x64-Clang-Debug",
      "generator": "Ninja",
      "configurationType": "Debug",
      "buildRoot": "${projectDir}\out\build\${name}",
      "installRoot": "${projectDir}\out\install\${name}",
      "cmakeCommandArgs": "",
      "buildCommandArgs": "",
      "ctestCommandArgs": "",
      "inheritEnvironments": [ "clang_cl_x64_x64" ],
      "variables": []
    }
  ]
}
 

Ниже приводится содержимое моего файла build.ninja из строки # 152:

   COMMAND = cmd.exe /C "cd /D C:Userspcsourcereposseqanoutbuildx64-Clang-Debug amp;amp; C:Userspcsourcereposseqanoutbuildx64-Clang-Debugbin$(ConfigurationName)alf.exe --write-ctd C:/Users/pc/source/repos/seqan/out/build/x64-Clang-Debug/workflow_plugin_dir/descriptors/alf.ctd"
 

Что я могу сделать, чтобы это исправить?

Комментарии:

1. Почему бы вам не задать свой вопрос на их GitHub? Ошибка в CMakeLists.txt , возможно, они никогда не настраивали SeqAn для Ninja.

2. Содержимое файла build.ninja зависит от вашей машины. Для того, чтобы начать отладку вашей проблемы, нам нужно, по крайней мере, знать содержимое ошибочной строки .

3. @Tsyvarev, где я могу его найти?

4. Вероятно, этот файл находится в каталоге сборки или в CMakeFiles его подкаталоге.

5. @Tsyvarev, проверьте редактирование, пожалуйста.