2013-03-31 12 views
7
c:\...random.h|106|error: expected unqualified-id before '__int128' 

जब मैं 32 बिट प्रोग्राम संकलित कर रहा हूं, तो उपरोक्त त्रुटि मुझे मिलती है। मैं http://sourceforge.net/projects/mingwbuilds/__int128 त्रुटि 32 बिट

का उपयोग कर रहा हूं क्यों? मेरा कोड 4.7.2 के साथ ठीक संकलित हुआ लेकिन मैं बग फिक्स के लिए 4.8 पर अपडेट करना चाहता था और जब शून्य नहीं होता है तो पॉइंटर चेतावनियों के लिए शून्य मान के रूप में उपयोग किया जाता है।

कई बग फिक्स मैं चाहता हूं। यह विंडोज़ पर सिर्फ मेरे x64 लोगों को ठीक करता है।

क्या यह x32 अनुप्रयोगों को संकलित करने का कोई तरीका है?

+1

संक्षिप्त उत्तर नहीं है। '__int128' 64-बिट सिस्टम के लिए है। – Mysticial

+0

: एस लेकिन मेरा कोड __int128 का उपयोग नहीं करता है। कंपाइलर x32 और x64 दोनों को संकलित कर सकता है: एस उच्चतम प्रकार का उपयोग किया गया था जो std :: uint32_t और std :: size_t – Brandon

+3

ओह था ... लगता है कि आपकी स्थापना तब बोरक की गई है। – Mysticial

उत्तर

5

__int128

द्वारा सुरक्षित है! परिभाषित (STRICT_ANSI) & & परिभाषित (_GLIBCXX_USE_INT128)

तो, आप या तो -ansi इस्तेमाल कर सकते हैं (इस मामले में अपने कोड सख्ती एएनएसआई है सी ++ शिकायत), मुझे इस तथ्य के कारण लिंकर में त्रुटियों का सामना करना पड़ा कि लिंकर 32 बिट libs को खोजने में असमर्थ था।

_GLIBCXX_USE_INT128

में परिभाषित किया गया है "lib/जीसीसी/x86_64-W64-mingw32/4.8.1/शामिल/C++/x86_64-W64-mingw32/बिट्स/C++ config.h" जो मुझे यकीन है कि उपकरण श्रृंखला के आधार पर सिस्टम के आधार पर स्वत: कॉन्फ़िगरेशन द्वारा उत्पन्न किया गया था।

आप बेहतर mingw gcc (बाइनरी) पैकेज पर 32 बिट संस्करण डाउनलोड करते हैं और उन्हें भी इंस्टॉल करते हैं।