2012-05-11 18 views
11

के लिए संस्करण स्वचालित रूप से जोड़ने के लिए एक .pro फ़ाइल में, मैं आवेदन के संस्करण सेट कर सकते हैं:क्यूटी। आवेदन

VERSION = <some version> 

वहाँ स्वचालित रूप से यह कर (जैसे मर्क्युरियल से प्राप्त होने वाले) का एक तरीका है?

उत्तर

7

यदि आप शैल कमांड से संस्करण प्राप्त कर सकते हैं, तो आप इसे $$system qmake फ़ंक्शन के साथ चर के लिए असाइन कर सकते हैं।

तो, तेज के लिए, आप की कोशिश कर सकते:

# if the version tag is <major version>.<minor version> 
VERSION = $$system(hg parents --template '{latesttag}.{latesttagdistance}') 
# or if you fill all 3 positions manually: <major>.<minor>.<patchset> 
VERSION = $$system(hg parents --template '{latesttag}') 

या यदि आप संस्करण के रूप में स्थानीय संशोधन संख्या का उपयोग कर रहे हैं:

VERSION = $$system(hg parents --template '{rev}') 

जो केवल अप्रतिबद्ध बदलाव के बिना उस नंबर प्रिंट होगा सूचक ('+')।

+0

धन्यवाद। लेकिन अधिक आसान समाधान मौजूद है। आप $$ सिस्टम ($$ (पीडब्ल्यूडी)/एचजी आईडी-एन) का उपयोग कर सकते हैं। इस मामले में भंडार की संस्करण संख्या वापस कर देगा। लेकिन समस्या यह है कि Mercurial प्रतीक "+" के साथ संख्या वापस कर सकते हैं। यह संस्करण संख्या में एक अवैध चरित्र है। – Milovidov

+0

@ मिलोविडोव आप 'प्रतिस्थापन() 'की सहायता से' + 'से छुटकारा पा सकते हैं:' संस्करण = $$ प्रतिस्थापित करें (संस्करण," + "," ") ' – Bill

+0

@ बिल, न करें। प्रतीक "+" प्रतिस्थापित नहीं किया जाएगा। – Milovidov

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