2011-04-29 9 views
19

संभव डुप्लिकेट:
Configuring the GCC compiler switches in Qt, QtCreator, and QMakeCXXFLAGS संशोधन

मैं अपने लिनक्स निर्माण के लिए अपने makefile (CFLAGS और CXXFLAGS) में -O 2 के बजाय -O1 उपयोग करना चाहते हैं , लेकिन .pro फ़ाइल के आधार पर इन मेकफ़ाइल जेनरेट किए जाने की मेरी समझ कुछ हद तक कम है। ऐसा इसलिए है क्योंकि जी ++ के संस्करण के साथ संयुक्त क्यूटी का संस्करण उपयोग कर रहा है जब -ओ 2 मौजूद है।

वर्तमान में, मैं एक प्रतिस्थापन स्क्रिप्ट चला रहा हूँ, के बाद मैं qmake है, जो ऐसा करता है चलाएँ:

sed -i 's/\-O2/\-O1/g' AllProjects/Makefile.Release 

यह एक यहूदी बस्ती समाधान है। इन निर्देशों के साथ किसी भी तरह से पास करने के लिए .pro फ़ाइल को संशोधित करना एक बेहतर समाधान होगा। मुझे यकीन नहीं है कि कैसे CFLAGS और CXXFLAGS उत्पन्न किए जा रहे हैं, और मुझे लगा कि मैं अद्भुत स्टैक ओवरफ्लो से पूछूंगा।

मैं एक

linux-g++-{ 
     CFLAGS += -O1 
     CXXFLAGS += -O1 
     CONFIG += -O1 
} 

जो काम नहीं किया गुजर कोशिश की है।

+2

+1 एक "यहूदी बस्ती समाधान" – sehe

+0

लिनक्स जी ++ - { QMAKE_CXXFLAGS + = -O1 } काम नहीं करता है, लिनक्स-जी ++ - { QMAKE_CXXFLAGS_RELEASE + = -O1 } भी काम नहीं करता है, मुझे यह उल्लेख करना चाहिए था कि मैंने इसे अपने समाधान में करने की कोशिश की थी। –

+0

मुझे लगता है कि मेरी जांच थोड़ा बहुत तंग है, क्योंकि ऐसा लगता है कि QMAKE_CXXFLAGS को काम करना चाहिए। –

उत्तर

24

आप बहुत करीब थे। क्या आप चाहते हैं:

QMAKE_CXXFLAGS += -O1

आप झंडे को लागू करने के लिए सिर्फ रिहाई का निर्माण करना चाहते हैं, तो आप इस का उपयोग कर सकते हैं:

QMAKE_CXXFLAGS_RELEASE += -O1

तुम भी शायद अपनी हालत को बदलना चाहते हैं थोड़ा और लचीला होना। सारांश में, कुछ इस तरह:

*-g++* { 
    QMAKE_CXXFLAGS += -O1 
} 

प्रलेखन यहाँ में अधिक: http://qt-project.org/doc/qt-5.0/qtdoc/qmake-variable-reference.html#qmake-cxxflags

+0

धन्यवाद, मेरा ध्वज भी बहुत तंग था, जैसा आपने सुझाव दिया था। –

+1

@ ब्रायन: हाँ, आपके पीछे एक पिछला डैश था जिसने इसे मारा था। –

+1

यदि आप जिस ध्वज को सेट कर रहे हैं वह लिंकिंग से संबंधित है, तो आपको उदाहरण सेट करने की भी आवश्यकता होगी। QMAKE_LFLAGS + = -m32 – iforce2d

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