के लिए चेक करें I संकलक की C++ 11 क्षमताओं की जांच के लिए AX_CXX_COMPILE_STDCXX_0X
(autoconf-archive पर देख सकते हैं) का उपयोग करें। यह सही ढंग से निर्धारित करता है कि -std=c++0x
आवश्यक है, लेकिन इसे CXXFLAGS
पर नहीं जोड़ता है। मैंने मैक्रो स्रोत पर एक नज़र डाली और यह वास्तव में जांच करता है लेकिन फिर पिछले झंडे को बहाल करता है।Autotools C++ 11
CXXFLAGS
को C++ 11 स्रोत संकलित करने में सक्षम होने के लिए मुझे क्या करना चाहिए?
बस जोड़ने -std=c++0x
AM_CXXFLAGS
के लिए अच्छा समाधान नहीं है, क्योंकि मैं संकलक मुझे autoconf डेवलपर्स पर सी ++ 11 मोड में संकलन, नहीं बनाने का बोझ डालना चाहते हैं।
'configure.ac:15: त्रुटि: AC_LANG_ASSERT: सी ../../lib/autoconf/lang.m4:156: वर्तमान भाषा सी ++ नहीं है AC_LANG_ASSERT से ... m4/ax_cxx_compile_stdcxx_11 विस्तार होता है। एम 4: 48: AX_CXX_COMPILE_STDCXX_11 से विस्तारित किया गया है ... config.ac:15: शीर्ष स्तर autom4te:/usr/bin/m4 निकास स्थिति के साथ विफल: 1 एक्लोकल: त्रुटि:/usr/bin/autom4te बाहर निकलने में विफल स्थिति: 1 autoreconf: एक्सेलोकल निकास स्थिति के साथ विफल रहा: 1' मैंने इसे 'AC_PROG_CXX' के बाद रखा है। मैं क्या गलत करता हूँ? – KAction
लंबी टिप्पणी के लिए खेद है। मुझे इसे प्रारूपित करने का कोई तरीका नहीं मिला। खैर, मैंने 'AC_LANG ([C++]) को 'AX_CXX_COMPILE_STDCXX_11' से पहले जोड़ा, लेकिन मुझे लगता है कि इसे' AC_PROG_CXX' 'कहा जाता है। – KAction
@illusionoflife 'AC_PROG_CXX' ऐसा नहीं करना चाहिए क्योंकि यह उन स्क्रिप्ट को कॉन्फ़िगर करेगा जो सी और सी ++ दोनों चेक हैं। अधिकांश ऑटोकॉन्फ चेक सी पर भरोसा करते हैं। आपके पास AC_LANG जोड़ना सही काम है। – hvd