shunya
shunya

Reputation: 553

Cmake error: Invalid escape sequence \U

While running my OpenCL code in VC++ 10 by using CMake I am getting the following error:

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

Upvotes: 36

Views: 50819

Answers (3)

Alexander  Pravdin
Alexander Pravdin

Reputation: 5579

For those who receive this error under Windows:

CMake Error at C:/Dev/cmake/share/cmake-3.8/Modules/FindBoost.cmake:903 (list):
Syntax error in cmake code at

C:/Dev/cmake/share/cmake-3.8/Modules/FindBoost.cmake:903

when parsing string

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

Invalid character escape '\D'. Call Stack (most recent call first): 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)

Don't set the BOOST_ROOT environment variable to a backslash-ended value.

Upvotes: 3

Baris Demiray
Baris Demiray

Reputation: 1607

If you are reading user input like environment variables then you'll need to do this by character replacement feature of string method.

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

Upvotes: 18

Simon
Simon

Reputation: 32933

Use forward slashes / in your paths

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

Upvotes: 52

Related Questions