29

在使用 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
4

3 回答 3

43

/在路径中使用正斜杠

C:/Users/Shreedhar/Desktop/test_CL/CMakeLists
于 2012-12-06T10:54:03.663 回答
14

如果您正在读取诸如环境变量之类的用户输入,那么您需要通过字符串方法的字符替换功能来执行此操作。

string(REPLACE "\\" "/" outputVar ${_inputVar})
于 2015-02-17T16:04:59.183 回答
3

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

CMake 错误:/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

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

于 2017-04-04T14:29:47.167 回答