2012-05-04 15 views
5

में लापता विभाजक त्रुटि मैं विंडोज पर क्यूटी 4.7.2 पर काम कर रहा हूं। मैंने मेकफ़ाइल, मेकफ़ाइल। डेबग और मेकफ़ाइल जेनरेट किया है। कृपया। हालांकि, जब मैं इस्तेमाल करने की कोशिश एक निष्पादन का निर्माण करने के mingw32-बनाने के लिए, मैं निम्नलिखित त्रुटि मिलती है:मेकफ़ाइल

mingw32-make -f Makefile.Debug all 
mingw32-make[1]: Entering directory `C:/Qt/4.7.2/src/plugins/sqldrivers/mysql' 
Makefile.Debug:61: *** missing separator. Stop. 
mingw32-make[1]: Leaving directory `C:/Qt/4.7.2/src/plugins/sqldrivers/mysql' 
mingw32-make: *** [debug-all] Error 2 
+1

क्या आप mmw के साथ nmake/msvc मेकफ़ाइल मिश्रण कर रहे हैं? –

+0

मेकफ़ाइल। डेबग (और उसके आस-पास की रेखा) की लाइन 61 हमें दिखाने के लिए कितना मुश्किल है? – Jens

+0

लाइन 61 पर, केवल "<<" है। मैंने इससे पहले एक टैब रखा, और अब यह एक और त्रुटि देता है। मैंने इसे नीचे पूछा। – gizemdemirel

उत्तर

8

लगभग हमेशा मतलब है कि आप एक पंक्ति है कि एक टैब है कि बजाय एक साथ शुरू होता है के साथ शुरू करना चाहिए "विभाजक मिसिंग यू" अंतरिक्ष।

0

यदि आप वास्तव में हमें दिखाएंगे कि Makefile.debug फ़ाइल की लाइन 61 पर क्या था, तो हम आपको एक बेहतर उत्तर दे सकते थे। "लापता विभाजक" "वाक्यविन्यास त्रुटि" का संस्करण बना रहा है। इसका मूल रूप से मतलब है कि मेकफ़ाइल में एक रेखा देखी गई है जिसे वह समझ नहीं पाया।

विलियम पर्सेल का उल्लेख है कि एक कारण हो सकता है कि आपके पास अपनी नुस्खा रेखाएं पेश करने की जगहें हैं लेकिन कई अन्य कारण हैं। शायद आप लक्ष्य और पूर्व शर्त के बीच ":" भूल गए हैं, या एक चर असाइनमेंट में "=" भूल गए हैं। अन्य संभावनाएं हैं।

1

मेकफ़ाइल.डेबग फ़ाइल की लाइन 61 पर "< <" है। जैसा कि विलियम पर्सेल ने सुझाव दिया था, मैंने "< <" से पहले टैब डाला था। मैं लाइन 61 समस्या हल हो लेकिन अब मैं एक और समस्या है:

mingw32-make[1]: *** [tmp\obj\debug_shared\qsqlmysqld_resource.res] Error 2 
mingw32-make[1]: Leaving directory `C:/Qt/4.7.2/src/plugins/sqldrivers/mysql' 
mingw32-make: *** [debug-all] Error 2 
12

जाहिर है इस सवाल का जवाब देर हो चुकी है, लेकिन मैं भावी पीढ़ी के लिए यह जवाब दे रही है ... यह मेरे आज मारा।

फ्रैंक ओस्टरफेल्ड लगभग निश्चित रूप से यह सही था। सुनिश्चित नहीं है कि आपने मेकफ़ाइल कैसे उत्पन्न किए हैं, लेकिन वे शायद मेकफ़ाइल बनाने के लिए मेकफ़ाइल बनाते हैं। आप Makefile.Debug के शीर्ष पर देखकर बता सकते हैं। यदि आप "CXX = cl" देखते हैं, न कि "CXX = g ++", तो यह आपकी समस्या है।

मेरे मामले में, मैंने क्यूटी एसडीके को संकलित करने का प्रयास करते समय यह त्रुटि मारा। लंबी कहानी छोटी: मुझे कॉन्फ़िगर कमांड लाइन पर "-platform win32-g ++" निर्दिष्ट करने की आवश्यकता है (यह Win32-msvc के लिए डिफ़ॉल्ट है)।

+0

आपको "-platform " निर्दिष्ट करना होगा, जहां कोई स्ट्रिंग है जिसमें "win32-g ++" है। इसका मतलब है कि "win64-g ++" काम नहीं करेगा लेकिन "win32-g ++ - 4.6" होगा। \ Qt \ 4.8.5 \ tools \ config \ configapp.cpp की पंक्ति 1380 देखें। – JPaget

+2

मैंने 'सेट QMAKESPEC = C: \ Qt \ 4.8.5 \ mkspecs \ win32-g ++ 'के साथ हल किया – JuanPablo