Ошибка Cmake: недопустимая escape-последовательность U
при запуске моего кода OpenCL в VC++ 10 с помощью CMake я получаю следующую ошибку:
CMake Error at CMakeLists.txt:6 (set): Syntax error in cmake code at
C:/Users/Shreedhar/Desktop/testCL/CMakeLists.txt:6
when parsing string
C:UsersShreedharDesktoptest_CLCMakeLists
Invalid escape sequence U
3 ответов
Если Вы читаете пользовательский ввод как переменные среды, вам нужно будет сделать это с помощью функции замены символов метода string.
string(REPLACE "\" "/" outputVar ${_inputVar})
для тех, кто получает эту ошибку в Windows:
ошибка CMake, например, в C:/Dev/cmake/share/cmake-3.8/Modules/FindBoost.cmake: 903 (список):
Синтаксическая ошибка в коде cmake приC:/Dev/cmake/share/cmake-3.8/Modules/FindBoost.cmake:903
при разборе строки
C:\Dev\mongodb\src\boost/lib${_arch_suffix}-msvc-15.0
недопустимый символ escape '\D'. Стек вызовов (самый последний вызов): C:/Dev/cmake/share/cmake-3.8/Modules/FindBoost.с CMake:1379 (_Boost_UPDATE_WINDOWS_LIBRARY_SEarch_dirs_with_prebuilt_paths)
src/bsoncxx / CMakeLists.txt: 100 (find_package)
Не устанавливайте переменную среды BOOST_ROOT в значение с обратной косой чертой.