2009-06-08 12 views
6

पर क्यूटी का उपयोग कर विंडोज के लिए निष्पादन योग्य बनाना क्या लिनक्स और विंडोज दोनों के लिए लिनक्स पर एक निष्पादन योग्य बनाना संभव है जो ग्रहण के साथ एक ही क्यूटी कोड का उपयोग कर रहा है? या क्या मेरी लिनक्स मशीन पर क्यूटी निर्माता स्थापित करना आवश्यक है?लिनक्स

उत्तर

0

बेशक, लिनक्स में क्यूटी निर्माता स्थापित करना संभव है। लिनक्स/Win32/Mac में संकलित करने के लिए एक ही क्यूटी कोड का उपयोग किया जा सकता है। हालांकि, आपको केवल प्लेटफ़ॉर्म विशिष्ट कोड का उपयोग करना चाहिए:

#ifdef Q_OS_WIN32 
    qDebug() << "Executable files end in .exe"; 
#endif 

अन्य ऑपरेटिंग सिस्टम के लिए अन्य परिभाषाएं हैं। यदि आप ऐसा करते हैं, तो आप सुरक्षित हैं और आप शर्त लगा सकते हैं कि यह क्रॉस-प्लेटफ़ॉर्म कोड है। :-)

कृपया http://www.qtsoftware.com/downloads देखें और लिनक्स/एक्स 11 के लिए क्यूटी एसडीके डाउनलोड करें। इसमें क्यूटी निर्माता, सहायक, डिजाइनर, et cetera शामिल हैं।

+0

असल में मैं लिनक्स में विंडोज निष्पादन क्यूटी का उपयोग कर बनाने की जरूरत है, और मेरी जरूरत का कहना है कि मैं सिर्फ विंडोज क्यूटी द्विआधारी स्थापित करने और निष्पादन जो मैं लिनक्स में बनाने को चलाने के लिए की जरूरत है। तो कृपया मुझे टेलीफ़ोन में क्यूटी ग्रहण एकीकरण का उपयोग करके मैं लिनक्स और विंडोज दोनों निष्पादन योग्य बना सकता हूं। मैं अपने प्रोग्राम के लिए लिनक्स निष्पादन योग्य प्राप्त करने में सक्षम हूं, लेकिन लिनक्स में विंडोज़ को निष्पादन योग्य कैसे प्राप्त करें? –

+0

यह लिनक्स के भीतर से विंडोज के लिए क्रॉस-कंपाइल करने के तरीके पर एक लिंक है - http://silmor.de/29 –

-1

ग्रहण के लिए, official plugin है।

क्यूटी ग्रहण एकता सी ++

The Eclipse प्लगइन के लिए 4.1.0 के बाद से किसी भी क्यूटी संस्करण का उपयोग कर कार्यक्रमों को बनाने के लिए इस्तेमाल किया जा सकता है।

+0

प्रश्न का उत्तर नहीं देता है, वह पहले ही क्यूटी के लिए ग्रहण का उपयोग कर रहा है। –

0

कुछ समय पहले मैं ऐसा करने की कोशिश कर रहा था, और मुझे क्रॉस-कंपाइलिंग के बारे में संसाधन यहां मिले: http://silmor.de/qtstuff.cross.php। अंत में मैंने समय की कमी के कारण विंडोज के तहत Win32 संस्करण संकलित किया, लेकिन यह संभव होना चाहिए।

3

यदि आप लिनक्स पर विंडोज बाइनरी बनाना चाहते हैं तो आपको क्रॉस-कंपाइल करने की आवश्यकता है। इसका मतलब है कि आपको एक क्रॉस कंपाइलर के साथ निर्मित के साथ एक विंडोज क्रॉस-कंपाइलर स्थापित प्लस पुस्तकालयों को जोड़ने की आवश्यकता है। एक बुनियादी क्यूटी कार्यक्रम के लिए इसका मतलब है कि आपको कम से कम एक क्रॉस-संकलित क्यूटी की आवश्यकता है।

क्रॉस-कंपाइलिंग के पास एक्लिप्स या क्यूटी निर्माता के साथ कुछ लेना देना नहीं है। मुझे नहीं लगता कि बॉक्स के बाहर दोनों क्रॉस संकलन का समर्थन है, लेकिन मुझे लगता है कि आप उन्हें ऐसा करने के लिए कर सकते हैं।

+0

दरअसल मुझे क्यूटी का उपयोग करके लिनक्स में विंडोज निष्पादन योग्य बनाने की ज़रूरत है, और मेरी आवश्यकता कहती है कि मुझे केवल विंडोज क्यूटी बाइनरी स्थापित करने और निष्पादन योग्य चलाने की आवश्यकता है जिसे मैं लिनक्स में बनाता हूं। तो कृपया मुझे टेलीफ़ोन में क्यूटी ग्रहण एकीकरण का उपयोग करके मैं लिनक्स और विंडोज दोनों निष्पादन योग्य बना सकता हूं। –

+0

मैं अपने प्रोग्राम के लिए लिनक्स निष्पादन योग्य प्राप्त करने में सक्षम हूं, लेकिन लिनक्स में विंडोज़ को निष्पादन योग्य कैसे प्राप्त करें? –

+1

क्षमा करें, लेकिन आपका प्रश्न मेरे लिए अस्पष्ट नहीं है। यदि आप लिनक्स पर विंडोज बाइनरी को क्रॉस-संकलित करना चाहते हैं तो आपको क्यूटी को पहले संकलित करने की आवश्यकता है, और आपको इसे स्वयं करने की आवश्यकता है। मैंने किसी भी ओएस के लिए * किसी भी * पूर्व-पैक क्रॉस-संकलित क्यूटी को नहीं देखा है। क्यूटी ग्रहण एकीकरण कोई भी बाइनरी नहीं बनाता है। यह कंपाइलर चलाता है, और लिनक्स पर विंडोज़ बाइनरी बनाने के लिए आपको क्रॉस-कंपाइलर की आवश्यकता होती है – bluebrother

-3

विंडोज़ में निष्पादन योग्य लिनक्स में काम नहीं करता है और इसके विपरीत। आप ऐसा कर सकते हैं:

#ifdef Q_WS_X11 
QString *OS=new QString("Linux"); 
std::cout << OS->toStdString() << std::endl; 
#endif 
#ifdef Q_WS_WIN 
QString *OS=new QString("Windows"); 
std::cout << OS->toStdString() << std::endl; 
#endif 
#ifdef Q_WS_MACX 
QString *OS=new QString("Mac"); 
std::cout << OS->toStdString() << std::endl;  
#endif 
+2

के लिए क्या? इस कोड का क्या मामला है? यह सिर्फ वही प्रकार है जो मैं उपयोग करता हूं। और कुछ नहीं। मुझे समझ में नहीं आता ... – Tebe