2012-09-09 6 views
5

मैंने सफलतापूर्वक अपने गेम को कोकोस 2 डी-एक्स पर पोर्ट किया है और यह लिनक्स, क्यूएनएक्स, आईओएस और मैक पर बहुत अच्छा है। मैंने एंड्रॉइड एनडीके भी स्थापित किया है और एंड्रॉइड पर ऐप को सफलतापूर्वक बनाने और चलाने में सक्षम हूं (सभी सटीक स्रोतों से, जो वास्तव में साफ है!)SimpleJSON C++ क्लास एंड्रॉइड (एनडीके) पर तारों का विश्लेषण नहीं कर सकता है, फिर भी एक ही वर्ग हर दूसरे प्लेटफॉर्म पर काम करता है

एंड्रॉइड पर हालांकि एक अजीब बात हो रही है: SimpleJSON मैं उपयोग कर रहा हूँ .cpp वर्ग सही ढंग से बनाये गये JSON तारों को पार्स करने में असमर्थ है। मैं इस ढांचे का उपयोग कर रहा हूं: https://github.com/MJPA/SimpleJSON

मैंने कोड में देखा है, लेकिन मैं यह देखने के लिए एक सीपीपी विशेषज्ञ नहीं हूं कि यह क्या है (यदि कोई है) इसके साथ गलत है (यह एंड्रॉइड को छोड़कर सभी प्लेटफार्मों पर काम करता है और यह सिर्फ संकलित करता है ठीक)।

मैंने नोट किया कि क्लास wchar_t का व्यापक रूप से उपयोग करता है और मैं यह भी समझता हूं कि यह एंड्रॉइड पर एक समस्या हो सकती है।

वैसे भी मैं यह पता लगा रहा हूं कि इस बात को पिछले 48 घंटों के लिए कैसे काम करना है, लेकिन मैं बुरी तरह विफल रहा। क्या वहां कोई है जो मुझे सही दिशा में इंगित कर सकता है?

क्या कोई संकलक विकल्प है जिसे मैं सेट करना भूल जाता हूं? क्या यह कक्षा सिर्फ एंड्रॉइड पर काम नहीं करेगी? एंड्रॉइड पर भी ठीक से काम करने के लिए कक्षा को कैसे बदल सकता हूं?

सभी संकेतों का स्वागत है।

आरजीडीएस।

+0

कृपया SimpleJSON.cpp के लिए कोड पोस्ट करें या आप JSON.cpp के बारे में बात कर रहे हैं जो आप पाते हैं कि आप अपने लिंक का अनुसरण करते हैं या नहीं? – john

+0

धन्यवाद। मैं वास्तव में JSON.cpp और JSONValue.cpp फ़ाइलों के बारे में बात कर रहा था जो कि जिथब रेपो में पाए जा सकते हैं। मैं एंड्रॉइड में चारों ओर देख रहा हूं और ऐसा लगता है कि wchar.h कार्यान्वयन सिर्फ कॉस्मेटिक है (यह चार को रीमेप है)। मैंने JSON कक्षाओं में wchar से char और wstring से स्ट्रिंग तक सभी संदर्भों को बदल दिया। मैं अभी भी परिवर्तनों का परीक्षण कर रहा हूं लेकिन ऐसा लगता है कि यह मेरी समस्या हल करता है (एंड्रॉइड JSON स्ट्रिंग्स पर कम से कम सही ढंग से पार्स किया जाता है)। मुझे अभी भी अन्य प्लेटफॉर्म पर हुए बदलावों का परीक्षण करना है (लेकिन मुझे वहां कोई आश्चर्य की उम्मीद नहीं है)। – TomBombadil

+4

भविष्य के संदर्भ के लिए: यह टिप्पणी है wchar.h: महत्वपूर्ण: विस्तृत कोड समर्थन पर निर्भर कोई भी कोड अनिवार्य रूप से गैर पोर्टेबल और/या टूटा हुआ है। इस हेडर मौजूद होने का एकमात्र कारण यह है कि मैं वास्तव में एक अच्छा लड़का हूं। हालांकि, मुझे वास्तविक कार्यान्वयन प्रदान करने के लिए पर्याप्त अच्छा नहीं है। इसके बजाय wchar_t == char और सभी डब्ल्यूसी फ़ंक्शन उनके "सामान्य" समकक्ष के लिए स्टब्स हैं ... – TomBombadil

उत्तर

0

नवीनतम ढांचे का उपयोग करना सुनिश्चित करें। कोड में #if परिभाषित (एंड्रॉइड) के लिए भी देखें, शायद एंड्रॉइड के लिए संकलन करते समय एक बग है।

संबंधित मुद्दे