संकलन चेतावनी: वास्तुकला i386 के लिए फ़ाइल को संसाधित करने का कोई नियम नहीं है


245

मैं इस चेतावनी को कैसे हल कर सकता हूं?

[चेतावनी] चेतावनी: आर्किटेक्चर i386 के लिए type sourcecode.objj.h प्रकार की '$ (PROJECT_DIR) /MyApp/MessageCell.h' फ़ाइल को संसाधित करने का कोई नियम नहीं है।


यह यह भी कहता है कि यह आपकी शीर्ष लेख फ़ाइलों को sourcecode.objj.h के रूप में संकलित करने का प्रयास कर रहा है, Object-J (जो हेडर के लिए .h फ़ाइलों का उपयोग करता है) से, क्या आपने Cappuccino स्थापित किया है?
themarketka

जवाबों:


576

अपने प्रोजेक्ट पर क्लिक करें, और जांचें कि यह फ़ाइल टैब बिल्ड चरणों में मौजूद नहीं है। आम तौर पर किसी भी हेडर फाइल को यहां नहीं रहना चाहिए। साफ और फिर से निर्माण, यह काम करना चाहिए!


1
मैं वहाँ में कुछ हेडर फ़ाइलें हैं। बस जिज्ञासु, हेडर क्यों नहीं होना चाहिए?
शीहान आलम

30
क्योंकि यह उन स्रोत फ़ाइलों की सूची है जिन्हें संकलित किया जाएगा, और आम तौर पर आपने पहले से <file> .h को अपनी <फ़ाइल> .m
Giuseppe

1
जब भी मैं एक नया वर्ग बनाता हूं, मेरा XCode स्वचालित रूप से हेडर फ़ाइलों को मेरे बिल्ड चरणों में जोड़ रहा है। मैं नहीं जानता कि क्यों, किसी को भी सुराग है कि ऐसा क्यों होता है? वर्तमान में हर बार जब मैं एक नया वर्ग बनाता हूं तो मुझे हेडर फ़ाइलों को बिल्ड चरणों से मैन्युअल रूप से हटाने की आवश्यकता होती है।
बोकाक्सिका

1
मैं जोड़ सकता हूँ कि .h फ़ाइल बिल्ड चरणों में दिखाई दे सकती है (जब यह माना नहीं जाता है) क्योंकि .m फ़ाइल में (गलती से) एक अलग नाम होता है।
अली

यह बिल्कुल सही समझ में आता है ... मैंने फ़ाइल को मूल रूप से बनाया था .cpp ने फिर इसका नाम बदलकर .h
ddavison


17

हम नीचे दिए गए चरणों का अनुसरण करके इस समस्या को हल कर सकते हैं: - कुछ .md, .mdown .hफ़ाइलें संकलित स्रोतों में शामिल हैं
चरण 1) प्रोजेक्ट नेविगेटर का चयन करें
चरण 2) अपनी परियोजना का चयन करें
चरण 3) अपने लक्ष्य का चयन करें
चरण 4)
चरण बनाएँ चरण 5 का चयन करें ) ले जाएँ फाइलें जो हम संकलक को संकलित स्रोत से कॉपी बंडल संसाधन तक संसाधित नहीं करना चाहते हैं

इसे देखो


3

यदि आप अपने कोकोपोड से इस चेतावनी को प्राप्त कर रहे हैं, तो आप यह सुनिश्चित करने के लिए कि यह s.source_filesसही तरीके से सेट है .podspec

उदाहरण के लिए मैंने मूल रूप से इस लाइन के साथ सभी फाइलों को अपने में शामिल किया है .podspec

s.source_files = "MyUIElements/**/*"

मुझे फली में कुछ फ़ॉन्ट फ़ाइलों के लिए यह संकलन चेतावनी मिल रही थी। आप इस तरह से फली की खपत पर BuildPhases-> किन फाइलों में नियंत्रण रखते हैं CompileSources:

s.source_files = "MyUIElements/**/*.swift", "MyUIElements/**/*.h"

1
या s.source_files = "Sources**/*.{h,m,swift}"?
hstdt

0

मेरी समस्या was't हेडर फाइल क्योंकि तहत Target> Build Phases> Compile Resourcesवहाँ नहीं किसी भी थे .h filesके साथ शुरू। सिस्टम कुछ अन्य फाइलों के बारे में शिकायत कर रहा था। मैंने इस लिंक का अनुसरण किया जो मूल रूप से उन फ़ाइलों को हटाता है जिनके बारे में सिस्टम शिकायत कर रहा था, लेकिन इसके बजाय मैंने cntrl + को उन्हें खींच लिया Copy Bundle Resources

फ़ाइलों के लिए खोज करने का सबसे आसान तरीका ऊपरी दाएं कोने में फ़िल्टर का उपयोग करना है:

यहां छवि विवरण दर्ज करें

यहाँ लिंक से निर्देश दिए गए हैं:

यहां छवि विवरण दर्ज करें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.