2009-08-06 10 views
12

मेरा प्राथमिक ओएस लिनक्स है, लेकिन अब मुझे विंडोज के लिए कुछ सी ++ एप्लिकेशन लिखने के लिए मजबूर होना पड़ता है। मैं WxWidgets (और अन्य प्लेटफ़ॉर्म निर्भरताओं के बारे में कुछ देखभाल) जैसे क्रॉस प्लेटफ़ॉर्म लाइब्रेरीज़ के साथ लिनक्स बॉक्स पर विकास करने के बारे में सोच रहा था और फिर परिणाम को mingw लक्ष्य में संकलित करना पार कर गया।लिनक्स पर विंडोज अनुप्रयोगों का विकास?

तो उपकरण मैं का उपयोग करने का सोच रहा हूँ

  • संकलन और पार संकलन के लिए जी ++ हैं।
  • सीएमके
  • WxWidgets
  • ???

    1. क्या विंडोज के लिए कुछ मुफ्त (या और भी बेहतर खुला स्रोत) संस्थापक है कि मैं का उपयोग कर सकते हैं: Windows इंस्टालर संकुल

    2. शराब विंडोज़ संस्करण के परीक्षण के लिए

और मेरे सवालों का बनाने के लिए अंतिम पैकेज बनाने के लिए? यह मदद करेगा अगर पैकेज लिनक्स से तैयार किया जा सकता है।

  • Wine क्रॉस संकलित संस्करण का परीक्षण करने के लिए पर्याप्त होगा (सभी तर्क लिनक्स संस्करण में परीक्षण किए जाने के बाद)?

  • क्या यह एक अच्छा विचार है? :-)

  • +6

    यदि आपके पास विंडोज़ की एक प्रति है, तो वर्चुअलबॉक्स इंस्टेंस चलाने से परीक्षण करने के लिए कोई दिक्कत नहीं हो सकती है। – Amber

    +0

    कम से कम वर्चुअल बॉक्स का परीक्षण करने के लिए अच्छा है, निश्चित रूप से सबसे अच्छा विंडोज़ इंस्टॉलेशन स्वयं है .. विंडोज़ में उस ऐप को लिखने का प्रयास करें। मुझे लिनक्स मेरा आत्म पसंद है। लेकिन अगर विंडोज के लिए आपकी बिल्डिंग। विंडोज़ में प्रोग्रामिंग सबसे अच्छा है जो आप कर सकते हैं (पाठ्यक्रम के विंडोज़ अनुप्रयोगों के लिए)। –

    उत्तर

    15

    क्यूटी भी जांचें। यह एक बहुत समृद्ध क्रॉस-प्लेटफार्म ढांचा है।

    इंस्टॉलरों के लिए मैं अत्यधिक WiX की सिफारिश करता हूं।

    परीक्षण के लिए सूर्य माइक्रोसिस्टम्स वर्चुअलबॉक्स जैसे किसी प्रकार के वर्चुअलाइजेशन का उपयोग करना बेहतर होगा। मैं आप उपयोग करना जो मुक्त है विंडोज या विंडोज 7 आर सी का परीक्षण संस्करण, इस्तेमाल कर सकते हैं मार्च 2010 तक

    2
      • InstallJammer आप * nix और Windows के लिए संस्थापक बनाने की अनुमति देता विश्वास करते हैं। मुझे यकीन नहीं है कि क्या यह इंस्टॉलरों के क्रॉस सृजन की अनुमति देता है (यानी * विंडोज़ इंस्टॉलर्स * निक्स से)। कोशिश करने के लिए उपलब्ध डेमो के साथ एक वाणिज्यिक विकल्प Bitrock InstallBuilder है।
      • हो सकता है कि ... यदि आप Windows खाता है, Dav के सुझाव बेहतर होगा।
      • यह आप काम बेहतर/अधिक कुशलता से & प्रभावी ढंग से, सुनिश्चित करें कि मदद करता है।

    रखें हमें कैसे तुम पर मिल पर पोस्ट - इस दिलचस्प है।

    2

    2) नहीं, जैसा कि यह कहता है शराब विंडोज नहीं है, आप इस तरह से इसका परीक्षण नहीं कर सकते हैं। मैं आपके लिनक्स में वर्चुअल मशीन चलाने का सुझाव देता हूं, जो आपके काम को अधिक आसान बना देगा।

    3) यह संभव लगता है, ग्राफिकल पहलू के लिए मैं GTK+ पर भी विचार करता हूं जिसका उपयोग GIMP के लिए किया गया था, और विंडोज और लिनक्स पर भी उतना ही काम करता है।

    2

    आप यह मानते हैं कि एप्लिकेशन केवल विंडोज़ के लिए हैं और क्रॉस-प्लेटफ़ॉर्म नहीं हैं, इस मामले में मुझे लगता है कि 3. का जवाब है - यह वास्तव में एक अच्छा विचार नहीं है - बाकी को ट्रम्प करता है।

    कारण यह है कि आपको विंडोज के तहत किसी भी तरह से सीधे या वर्चुअल इंस्टेंस में बड़े पैमाने पर एप्लिकेशन का परीक्षण करना होगा। ऐसा इसलिए है कि आप लक्ष्य ओएस के तहत विकसित होना बेहतर हैं क्योंकि आप बेहतर अनुप्रयोग बनाने की अधिक संभावना रखते हैं - दोनों पहले से और अधिक अच्छी तरह से बग को पकड़ने और अपने उपयोगकर्ताओं के लिए अपने एप्लिकेशन 'कार्यों' को सुनिश्चित करने से। मैं निश्चित रूप से पर भरोसा नहीं करताWine

    मैं क्रॉस-प्लेटफ़ॉर्म विजेट का बड़ा प्रशंसक नहीं हूं। जावा अनुप्रयोगों की तरह आप आम तौर पर कुछ ऐसा करते हैं जो नहीं सही दिखता है, और अनजान अंतर की तरह जो आपके एप्लिकेशन को आपके उपयोगकर्ताओं के बड़े हिस्से में खराब करने के लिए पर्याप्त हो सकता है। यहां तक ​​कि थोड़ा अधिक अमूर्त स्तर पर, प्रत्येक ओएस के अनुप्रयोगों के बारे में थोड़ा अलग अनुभव होता है कि वे कैसे काम करते हैं और आप संभवतः एक विंडोज़ एप्लिकेशन के साथ समाप्त हो जाएंगे, जो कहता है, केडीई एक, जो आपके उपयोगकर्ताओं को फिर से बंद कर देगा ।

    तो हाँ, निश्चित रूप से ऐसा करना संभव है, लेकिन शायद अंतिम उत्पाद की गुणवत्ता के दृष्टिकोण से इष्टतम दृष्टिकोण नहीं है। ऐसा करने के लिए आप जो कुछ भी उत्पादित करते हैं उसके साथ खुद को एक बाधा डाल देंगे और मैं कहूंगा कि लिनक्स प्लेटफॉर्म का उपयोग करने के लिए आपको सुविधा को ऑफ़सेट करने की संभावना है। असल में मैं आश्चर्यचकित हूं कि अगर आप इसे भी प्रबंधित करते हैं क्योंकि मैं शर्त लगाता हूं कि आप उन्हें ठीक से ट्यून करने की कोशिश कर रहे विजेट्स के साथ गड़बड़ करने में अधिक समय बिताएंगे, इसलिए वे एक अपरिचित विंडोज का उपयोग करने से आपको वास्तविक विंडोज के तहत सही काम करेंगे टूलसेट।

    3

    सबसे पहले, हाँ यह अच्छा विचार है। मेरे पास कई परियोजनाएं हैं जिन्हें मैं अपने विंडोज संस्करण को इस तरह से बनाए रखता हूं।

    किसी भी मामले में, मेरा सुझाव है कि आप विंडोज मशीन पर अंतिम उत्पाद का परीक्षण करें। यदि आपके पास विंडोज ओएस के लिए लाइसेंस है, तो आप अंतिम परीक्षण करने के लिए वर्चुअलाइजेशन का उपयोग कर सकते हैं।

    मैं Autotools का उपयोग करने का सुझाव देता हूं जिसमें बहुत अच्छा क्रॉस संकलन समर्थन है और एक क्रॉस कंपाइलर के साथ "मूल रूप से" काम करता है।

    डेबियन के तहत

    ./configure --host=i586-mingw32msvc 
    

    के रूप में अगर यह यूनिक्स परियोजना थी यह सही पार संकलन makefile पैदा करेगा चल उदाहरण के लिए।

    किसी भी मामले में, मैं क्रॉस प्लेटफार्म संस्करण और समय-समय पर परीक्षण मूल विंडोज संस्करण को शराब/विंडोज़ के साथ संकलित करके अनुक्रमित करने की अनुशंसा करता हूं।

    +0

    क्या यह एक नुकसान है कि हम प्रोफाइलर का उपयोग करने में सक्षम नहीं होंगे? और यदि मैं सही ढंग से समझता हूं तो अधिक से अधिक अनुकूलन प्रक्रियाएं एक ओएस से दूसरे में काफी भिन्न होती हैं। मैं इससे कैसे निपट सकता हूं? या जैसा कि आपने उल्लेख किया है, 'विंडोज़ में अंतिम परीक्षण' पर ऑप्टिमाइज़ेशन के बारे में कुछ काम करना और परेशान करना बेहतर है। – sjsam

    1

    विंडोज़ के उन सभी संस्करणों तक पहुंच प्राप्त करने के लिए आपको किसी भी एमएसडीएन लाइसेंस की आवश्यकता होगी, जिस पर आप परीक्षण करना चाहते हैं।

    आप वीएम पर परीक्षण ओएस इंस्टॉल करना चाहते हैं। यह आपके लिनक्स डेस्कटॉप पर हो सकता है, लेकिन एक समर्पित बॉक्स बेहतर हो सकता है।

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

    हर तरह से, लिनक्स पर विकसित करें। हर तरह से, क्रॉस-प्लेटफ़ॉर्म विजेट का उपयोग करें (हाँ, ये अच्छे हैं)। लेकिन आपको अभी भी अपने एमएसडीएन लाइसेंस की आवश्यकता होगी ताकि आप परीक्षण ओएसई इंस्टॉल कर सकें।

    0

    NSIS, नलसॉफ्ट स्क्रिप्टबल इंस्टाल सिस्टम को लिनक्स के तहत संकलित किया जा सकता है और विंडोज के लिए इंस्टॉल बाइनरी बनाने के लिए उपयोग किया जाता है। निर्देश here हैं। POSIX पर निर्माण के लिए सामान्य अनुभाग, और अनुभाग पढ़ें।

    मैं कुछ परियोजनाओं के लिए इंस्टॉलेशन का उत्पादन करने के लिए इसका उपयोग करता हूं।

    +1

    मुझे वास्तव में एक बुरी चीज होने के लिए एनएसआईएस मिलती है। एनएसआईएस के साथ काम करने की बेहतर कोशिश करने या बेहतर प्रयास करने के बाद, मुझे हर जगह दर्द महसूस होता है ... यह त्रुटियों की रिपोर्ट नहीं करता है (त्रुटियों और आदेशों सहित सबकुछ का लॉग लिखने की तरह कुछ भी नहीं), परिवर्तनीय असाइनमेंट और उपयोग मेरे लिए अस्पष्ट लगता है। कोई असली मजा नहीं – Henning

    +0

    मैं इनो सेटअप का उपयोग करता हूं और यह वास्तव में सबसे अच्छा है। –

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