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



在VC++10中使用CMake运行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:UsersShreedharDesktoptest_CLCMakeLists
Invalid escape sequence U

在路径中使用正斜杠/

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

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

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:Devmongodbsrcboost/lib${_arch_suffix}-msvc-15.0

无效的字符转义符"\D"。调用堆栈(最近的调用优先):C:/Dev/cmake/share/cmake-3.8/Modules/FindBoost.cmake:1379(_Boost_UPDATE_WINDOWS_LINK_SEARCH_DIRS_WITH_PREBUILT_PATH)
src/bsoncxx/CMakeLists.txt:100(find_package)

不要将BOOST_ROOT环境变量设置为以反斜杠结尾的值。

最新更新