2012-12-19 6 views
9

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

यह से छुटकारा पाने के लिए, मैं हमेशा की तरह, एक प्रोजेक्ट बना में मेरी फाइल फेंक, और जहां मैं सिर्फ क्लिक कर सकते थे जीयूआई आवेदनकंसोल आवेदन के बजाय करने के लिए नेविगेट करने के लिए किया है।

हालांकि, जी ++। Exe और ld.exe का उपयोग करते समय एक ही चीज़ निर्दिष्ट करना स्पष्ट रूप से संभव है, और कोडब्लॉक्स में अतिरिक्त लिंकर विकल्पों के लिए एक अनुभाग है, इसलिए मुझे लगा कि मैं हमेशा की परेशानी से बचने के लिए वहां चिपक सकता हूं एक परियोजना बनाना, लेकिन स्पष्ट रूप से मैं गलत था।

सबसे पहले, मुझे this question मिला। मुझे आश्चर्य हुआ जब मुझे पता चला कि किसने इसका उत्तर दिया, लेकिन इससे मेरी मदद नहीं होती है, क्योंकि इसका पूरा बिंदु यह है कि मैं इसे के बिना के बिना एक परियोजना बनाने के प्रयास कर सकता हूं।

जाहिर है, -mwindows संकलक विकल्प है कि क्या करेंगे, तो मैं डाल कि Settings\Compiler and Debugger\Compiler settings\Other options में करने की कोशिश की, और यह संकलित करता है तथा ठीक लिंक, लेकिन अभी भी एक कंसोल विंडो है।

अगला, मैंने Settings\Compiler and Debugger\Linker settings\Other linker options को आजमाया। Google परिणामों द्वारा फ्यूल किया गया, मैंने वहां पर निम्नलिखित जोड़ने का प्रयास किया है, एक समय में एक विकल्प सक्रिय है, और पुनर्निर्माण। -mwindows सक्रिय होने तक मुझे कोई फर्क नहीं पड़ता है।

-Wl: अपरिचित आदेश पंक्ति विकल्प
--subsystem, खिड़कियां: अपरिचित आदेश पंक्ति विकल्प
--subsystem, खिड़कियां: विंडोज़ - जैसे कोई फ़ाइल या निर्देशिका।
- सबसिस्टम विंडोज़: विंडोज़ - ऐसी कोई फ़ाइल या निर्देशिका नहीं।
--subsystem = windows: Unregocnized कमांड लाइन विकल्प
- सबसिस्टम, कंसोल: कंसोल - ऐसी कोई फ़ाइल या निर्देशिका नहीं।

यह परीक्षण सभी codeblocks, codeblocks 12.11, और जीसीसी 4.7.2 का नवीनतम रिलीज पर किया गया था, this MinGW distro (संस्करण 9.4) से प्राप्त की। हालांकि, मैं काफी हद तक निश्चित हूं कि यह कोडब्लॉक 10.05 के साथ समान तरीके से काम करता है।

क्या मुझे किसी प्रोजेक्ट का उपयोग करने, मेकफ़ाइल का उपयोग करने या कमांड लाइन से बनाने के लिए मजबूर होना पड़ा है, या क्या यह सेटिंग कोडबॉक्स आईडीई वैश्विक सेटिंग्स में बदलना संभव है?

+0

* "लेकिन अभी भी एक कंसोल विंडो है" *। क्या जीयूआई विंडो दिखाई गई? –

+0

@ मार्कगार्शिया, जिस पर मैं परीक्षण कर रहा हूं वास्तव में कोई जीयूआई विंडो नहीं है। हालांकि, मैंने एक परियोजना में जीयूआई-कम कार्यक्रम डाले हैं और इसे इस तरह से किया है, जो ठीक काम करता है: कार्यक्रम शुरू करने पर, उपयोगकर्ता कुछ भी ध्यान नहीं देगा। सेवाओं का उल्लेख करने से पहले, इसे बातचीत करने की आवश्यकता है। यह वास्तव में एक सेवा से शुरू किया जा रहा है। आम तौर पर, मैं सामान्य प्रथाओं का पालन करता हूं, लेकिन यह वास्तव में एक सामान्य अनुप्रयोग नहीं है - यह एक मजाक के रूप में है। तकनीक को एक जवाब में समझाया गया है, हालांकि, एक जीयूआई के साथ प्रोग्राम * के साथ ही लागू हो सकता है :) – chris

+0

@ मार्कगार्शिया, क्षमा करें, मुझे एहसास है कि मैंने उन सभी में आपके प्रश्न का उत्तर नहीं दिया है।मैंने एक खिड़की के साथ एक पाया और '-mwindows' के साथ संकलन और चलाने की कोशिश की। कंसोल और खिड़की दोनों दिखाते हैं। – chris

उत्तर

6

लिंकर को -Wl,--subsystem,windows पास करने का यह सही तरीका है। यदि यह काम नहीं करता प्रतीत होता है तो सुनिश्चित करें कि आपने कहीं जगह नहीं डाली है; तर्क के रूप में प्रयोग करें।

+0

मुझे यह करना था: '-ब्लूएल, -सब्सिस्टम: विंडोज़' –

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

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