2014-04-04 10 views
5

में रेंज-आधारित 'फॉर' लूप की अनुमति नहीं है इसलिए मैं इस पृष्ठ पर ट्यूटोरियल का अनुसरण कर रहा हूं: http://www.cplusplus.com/doc/tutorial/control/ लेकिन मुझे लूप के लिए एक श्रेणी/आधारित करने में परेशानी हो रही है। मुझे यह पृष्ठ मिला: GNU GCC compiler updating उत्तर में कहा गया है कि मुझे "परियोजना" और "गुण" खोलना चाहिए। लेकिन जब मैं कोशिश करता हूं, तो "गुण" विकल्प बिना किसी स्पष्टीकरण के ग्रे हो गया है: http://imageshack.com/a/img571/4371/xd1x.png तो .. मैं लूप के लिए सीमा/आधारित कैसे सक्रिय कर सकता हूं?त्रुटि: सी ++ 98 मोड

+1

पीएनजी लिंक काम नहीं करता है। (यही कारण है कि बाहरी साइटों से जोड़ने के बजाय, प्रश्न में त्रुटि संदेशों को एम्बेड करने का सुझाव दिया गया है) –

उत्तर

14

पास -std=c++11 कंपाइलर को ध्वज। इन सभी आधुनिक मानकों का समर्थन करने के लिए निश्चित रूप से जीसीसी पर्याप्त ताजा होना चाहिए (> = 4.7)। कोडब्लॉक के लिए 13.12: सेटिंग्स -> कंपाइलर -> टैब "कंपाइलर ध्वज" -> विकल्प "जी ++ सी ++ 11 आईएसओ सी ++ का पालन करें [-स्टडी = सी ++ 11]"

+0

मैं एक शुरुआती ट्यूटोरियल के माध्यम से जा रहा हूं, जिसका अर्थ है कि मैं यहां एक पूर्ण नोब हूं। कंपाइलर को ध्वज पास करने का क्या अर्थ है? – Sindre

+0

ठीक है, कमांड लाइन में अन्य कंपाइलर विकल्पों के बीच उस स्ट्रिंग को निर्दिष्ट करें, जैसे: 'g ++ -std = C++ 11 -o test_executable test_source.cpp' – user3159253

+0

आप मेरे ज्ञान को अधिक महत्व दे रहे हैं, मुझे नहीं पता कि यह कहां लिखना है – Sindre

7

-std=c++11 का उपयोग करने के ऊपर दिए गए समाधान मेरे लिए काम नहीं किया

यह मेरे कंपाइलर का लक्ष्य और संस्करण विवरण है।
gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) Target: x86_64-linux-gnu

जब मैंने कोशिश की, तो यही हुआ।
$ g++ -std=c++11 program.cpp cc1plus: error: unrecognized command line option ‘-std=c++11’

इससे मेरे लिए समस्या हल हो गई।
$ g++ -std=c++0x program.cpp

1

ऊपर समाधान g++ -std=c++0x program.cpp काम करता है का उपयोग करना। हालांकि, आदेश आदेश आम कमांड के साथ कार्यक्रम को चलाने के लिए थोड़ा संशोधित करने की आवश्यकता है: ./program

मैं g++ -std=c++0x -o program program.cpp का इस्तेमाल किया और सब पूरी तरह से काम किया।

1

इन दोनों:

g++ -std=c++11 -o test_executable test_source.cpp 
g++ -std=c++0x -o program program.cpp 

मेरे लिए काम किया।

संकलन के बाद करने के लिए केवल एक चीज test_executable (पहले मामले में) ./test_executables या प्रोग्राम (दूसरे मामले में) ./program के रूप में निष्पादित करना है।

0

यदि आप QT5.5 का उपयोग कर रहे हैं, तो आप इसे .pro फ़ाइल में निम्न पंक्तियों को जोड़कर प्राप्त कर सकते हैं।

CONFIG += c++11

संबंधित मुद्दे