मैं Xcode 7.3 उपयोग कर रहा हूँ, और मैं एक चेतावनी "मैक्रो की अस्पष्ट विस्तार" हो रही है, एक मैक्रो जो फाउंडेशन में परिभाषित किया गया था के लिए है, लेकिन जो मैंने अपनी उपसर्ग फ़ाइल में अपरिभाषित और पुनः परिभाषित किया है। मेरे पास मॉड्यूल सक्षम हैं।Xcode 7.3: उपसर्ग फ़ाइल में जब फिर से परिभाषित करने मैक्रो "मैक्रो की अस्पष्ट विस्तार"
पुन: पेश करने के लिए:
- सेट "सक्षम मॉड्यूल (सी और ऑब्जेक्टिव-सी)" हाँ करने के लिए निर्माण सेटिंग्स
उपयोग निम्नलिखित उपसर्ग फ़ाइल में:
#import <Foundation/Foundation.h> #undef assert #define assert(e) NSLog(@"hi") // implementation is not important
उपयोग मुख्य स्रोत फ़ाइल के बाद:
int main() { assert(42); return 0; }
फिर एक्सकोड में निर्माण करें।
- यह एक "मैक्रो 'ज़ोर' की अस्पष्ट विस्तार" "जोर" मैक्रो का उपयोग करता है स्रोत फ़ाइल में लाइन पर चेतावनी दिखाता है। "Assert 'की इस परिभाषा का विस्तार" सिस्टम हेडर से परिभाषा को इंगित करता है, न कि मेरी पुनर्वितरण। "उपक्रम 'की अन्य परिभाषा" मेरी उपसर्ग फ़ाइल में परिभाषा को इंगित करती है।
यह चेतावनी जब मॉड्यूल अक्षम किया गया है नहीं होता है।
यह अभी भी एक्सकोड 8 में एक समस्या प्रतीत होता है। –
एक्सकोड 9 में ही – iosdude