2011-09-25 12 views
14

मैं अपनी परियोजना को डीबग कर रहा हूं, लेकिन मुझे लगता है कि परियोजना को -g, लेकिन नहीं -g3 के साथ संकलित किया गया था, जिसका अर्थ है कि मैं gdb में मैक्रोज़ का विस्तार नहीं कर सकता। मैं gcc को -g3 ध्वज जोड़ना चाहता हूं, लेकिन मैं मेकफ़ाइल को संशोधित नहीं करना चाहता, मैं बस मेक कमांड लाइन के माध्यम से इस ध्वज को जोड़ना चाहता हूं, क्या कोई मुझे बता सकता है कि यह कैसे करें? धन्यवाद!मेक कमांड लाइन के माध्यम से gcc को gcc को कैसे पास करें?

उत्तर

23

यह इस बात पर निर्भर करता है कि मेकफ़ाइल क्या करता है/यह कैसे लिखा गया था। यह संभव नहीं हो सकता है।

यदि आपका Makefile यथोचित "मानक" है, तो यह काम करना चाहिए:

make CFLAGS="-g3 ..." 

यदि यह सी ++ के लिए है:

make CXXFLAGS="-g3 ..." 
+0

मैं अपनी बात को समझते हैं, धन्यवाद! – wangshuaijie

+5

अभी तक एक और सवाल है, परिवर्तनीय CFLAGS को पहले से ही मेरे मेकफ़ाइल में परिभाषित किया जा सकता है, मैं बस इसे -g3 जोड़ना चाहता हूं, इसे एक नया मान निर्दिष्ट न करने के लिए, मैं कैसे कर सकता हूं? क्या इसमें व्याकरण है जैसे "CFLAGS + =" - g3 "" या कुछ और? – wangshuaijie

+0

नहीं जो काम नहीं करता है। – Mat

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