मैं जीसीसी के तहत अपना प्रोजेक्ट संकलित करने की कोशिश कर रहा हूं (विजुअल स्टूडियो इसे निर्दोष रूप से संकलित करता है)।जीसीसी, यूनिकोड और __FUNCTION__
मेरे पास एक कस्टम जोर कार्य है जो एक wstring संदेश फेंकता है। यह का एक हिस्सा _ _FUNCTION__ मैक्रो, जो मैं "unicodize" MSDN से मैक्रो चौड़ा का उपयोग कर
#define WIDEN2(x) L ## x
#define WIDEN(x) WIDEN2(x)
यह MSVC में ठीक संकलित है, लेकिन यह जीसीसी में इस प्रिंट:
error: ‘L__FUNCTION__’ was not declared in this scope
केवल समाधान मैं mbstowcs का उपयोग कर रनटाइम पर wstring करने के लिए __FUNCTION __ की सामग्री को परिवर्तित करने के लिए आ सकता हूं, लेकिन मैं इसे करने के लिए एक संकलन-समय तरीका ढूंढना चाहता हूं।
सहायता के लिए धन्यवाद।
आपको अपना '__FUNCTION__' मैक्रो पोस्ट करना चाहिए। – Gabe
मैंने सोचा कि यह स्वचालित रूप से संकलन द्वारा प्रदान किया जाता है, कम से कम एमएसवीएस इसे स्वचालित रूप से उजागर करता है। यह मुझे परिभाषा पर जाने की अनुमति भी नहीं देगा, इसलिए मुझे नहीं पता कि यह कैसे परिभाषित किया गया है। –