Cmake错误:无效的转义序列\ U.

时间:2012-12-06 05:14:20

标签: path cmake

使用CMake在VC ++ 10中运行我的OpenCL代码时出现以下错误:

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:\Users\Shreedhar\Desktop\test_CL\CMakeLists
Invalid escape sequence \U

3 个答案:

答案 0 :(得分:26)

在路径中使用正斜杠/

C:/Users/Shreedhar/Desktop/test_CL/CMakeLists

答案 1 :(得分:10)

如果您正在阅读环境变量等用户输入,那么您需要通过字符串方法的字符替换功能来完成此操作。

string(REPLACE "\\" "/" outputVar ${_inputVar})

答案 2 :(得分:2)

对于在Windows下收到此错误的人:

  

CMake错误   C:/Dev/cmake/share/cmake-3.8/Modules/FindBoost.cmake:903(list):
  

中cmake代码中的语法错误
C:/Dev/cmake/share/cmake-3.8/Modules/FindBoost.cmake:903
     

解析字符串

C:\Dev\mongodb\src\boost/lib${_arch_suffix}-msvc-15.0
     

无效的角色转义' \ 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环境变量设置为反斜杠结束值。