2012-12-06 17 views
6

CMake का उपयोग कर रहा निम्न त्रुटि हो रही है द्वारा कुलपति ++ 10 में मेरी OpenCL कोड चल रहा जबकि: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:\Users\Shreedhar\Desktop\test_CL\CMakeLists 
Invalid escape sequence \U 
+0

फ़ाइल में एक अवैध चरित्र हो सकता है? – fersarr

उत्तर

16

उपयोग फ़ॉरवर्ड स्लैश अपने रास्तों में /

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

या बैकस्लाश से बचें: 'सी: \\ उपयोगकर्ता \\ श्रीधर \\ डेस्कटॉप \\ test_CL \\ सीएमकेलिस्ट ' – Fraser

+0

कई मामलों में आप उद्धरणों का भी उपयोग कर सकते हैं। अधिकांश समय मैं बैकस्लाश के बजाय स्लेश का उपयोग करता हूं और इससे बचता हूं। – drescherjm

+0

वास्तव में उलझन में है कि पथ को कहां बदलना है। मैं 'विंडोज़ 'पर' कैमके गुई 'का उपयोग कर रहा हूं, इसे टाइप करके नहीं, चुनकर पथ प्राप्त करें। –

8

यदि आप पर्यावरण चर जैसे उपयोगकर्ता इनपुट पढ़ रहे हैं तो आपको स्ट्रिंग विधि की वर्ण प्रतिस्थापन सुविधा द्वारा ऐसा करने की आवश्यकता होगी।

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

क्यों सेमेक automaticaly करने के लिए नहीं? – 23W

1

जो लोग 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)

एक बैकस्लैश एंडेड मूल्य के लिए BOOST_ROOT वातावरण चर सेट न करें।

+0

मैं एक ही त्रुटि को पूरा करता हूं, हालांकि समाधान इसे ठीक नहीं करता है। –