2015-02-10 17 views
8

मैं क्यूटी 5.4 का निर्माण कर रहा हूं और मैं अपने कस्टम निर्मित GCC संस्करण का उपयोग करना चाहता हूं जो सिस्टम से अलग है। मैं अपने साथ सिस्टम GCC को प्रतिस्थापित नहीं करना चाहता हूं। हालांकि, मैं नहीं देखता कि क्यूटी बिल्ड सिस्टम का उपयोग करने वाले कम्पाइलर पूर्ण पथ को कैसे बदल सकता है, साथ ही कस्टम झंडे को कैसे जोड़ सकता है। आम तौर पर ओपन सोर्स लाइब्रेरी CXX और CXXFLAGS चर का उपयोग कंपाइलर पूर्ण पथ और उसके विकल्पों को बदलने के लिए करते हैं, लेकिन ऐसा लगता है कि क्यूटी बिल्ड सिस्टम इन चरों को अनदेखा करता है।कस्टम कंपाइलर और कस्टम झंडे के साथ क्यूटी कैसे बनाएं?

करता क्यूटी 5.4 निर्माण प्रणाली जीएनयू परियोजनाओं CXX और CXXFLAGS के लिए आम के समान किसी भी विकल्प है, साथ ही LD और LDFLAGS के रूप में है?

+0

आप किस ओएस पर हैं? (लिनक्स?) – Cameron

+3

आपको शायद एक कस्टम qmake.conf फ़ाइल बनाने की आवश्यकता होगी। [यहां] देखें (https://qt-project.org/search/tag/qmake.conf) या [यहां] (https://qt-project.org/search/tag/qmake.conf)। – BartoszKP

+0

@ कैमरॉन हां, मेरा ओएस लिनक्स (सेंटोस 6) है। – Vitaliy

उत्तर

3

जैसा कि @ बार्टोसज़केपी ने सलाह दी है, इसे कस्टम बिल्ड प्लेटफॉर्म बनाना आवश्यक है। आसान (लेकिन कम सुरुचिपूर्ण और कम "शैक्षणिक") विचार मौजूदा प्लेटफॉर्म को संशोधित करना है। मैंने आधार के रूप में linux-g++ मंच का उपयोग किया। स्रोत कोड निर्देशिका से संबंधित यह प्लेटफ़ॉर्म qmake.conf फ़ाइल पथ qtbase/mkspecs/linux-g++/qmake.conf है। मैं इस फ़ाइल के बिल्कुल नीचे निम्नलिखित लाइनों कहा:

QMAKE_CXX    = /path/to/custom/g++ 
QMAKE_LINK    = /path/to/custom/g++ 
QMAKE_LFLAGS   += -custom-link-flags-here 
QMAKE_CC    = /path/to/custom/gcc 
QMAKE_LINK_C   = /path/to/custom/gcc 

अब क्यूटी निर्माण मंच के बजाय मौजूदा प्रणाली एक के अपने कस्टम संकलक का उपयोग करता है, और यह अपने कस्टम लिंकर झंडे कहते हैं।

make CC=/path/to/custom/gcc CXX= /path/to/custom/g++ LINK=/path/to/custom/g++ LFLAGS= -custom-link-flags-here 

अब क्यूटी बजाय मौजूदा प्रणाली एक के अपने कस्टम संकलक का उपयोग करेगा:

+0

टिप के लिए धन्यवाद। मुझे केवल यह नहीं करना था (वास्तव में मेरे लिए यह वास्तव में qmake.conf में परिवर्तन के साथ काम नहीं करता था)। मुझे वास्तव में mkspecs/common/g ++ - base.conf में परिवर्तन करना पड़ा; इसने सुनिश्चित किया कि दोनों qmake निष्पादन योग्य और निर्माण वांछित संकलक का उपयोग किया। –

0

सबसे आसान तरीका उपयोग करने के लिए है।

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