2010-03-24 11 views
6

मैं एक खुला स्रोत C++ आवेदन में लिखा है और यह विंडोज और लिनक्स पर ठीक काम करता है, मैं अंत में (10.5.8) के साथ मिल गया एक मैक मिनी के बिना एक मैक आवेदन शुरू करने के लिए कैसे तो मैं बस गया है मैक संस्करण का परीक्षण। जब यह एक टर्मिनल विंडो के अंदर से चल रहा है और ./appname टाइपिंगएक टर्मिनल विंडो

मेरा आवेदन ठीक काम करता है, लेकिन अगर बजाय मैं दोगुना खोजक से उस पर क्लिक करें, तो यह एक termnial खिड़की पहले खुल जाता है और उसके बाद मेरे ऐप लेकिन इसे चलाता ऐसा लगता है कि कार्यस्थल निर्देशिका को सही स्थान पर सेट नहीं किया गया है, इसलिए मेरा ऐप मर जाता है।

मैं कैसे द्वारा डबल उस पर क्लिक किया जा रहा है पहले टर्मिनल विंडो खोलने नहीं करता है इसलिए जब यह शुरूआत मेरे ऐप कर सकता हूँ और मैं वर्तमान निर्देशिका क्षुधा स्थान स्वचालित रूप से करने के लिए सेट हो सकता है?

उत्तर

4

मैक बाइनरी 'टर्मिनल' प्रोग्राम के साथ खोले जाने के लिए सेट हैं; कि चारों ओर कोई रास्ता नहीं एक पूर्ण आवेदन पैकेज बनाकर छोड़कर वहाँ,, या किसी अन्य प्रोग्राम system या ऐसा ही कुछ के माध्यम से इसे लॉन्च किया है।

डबल क्लिक एक द्विआधारी पर, टर्मिनल विंडो ~ वर्तमान निर्देशिका के रूप में के साथ खुलता है जब। मेरा सुझाव है कि आप अपने प्रोग्राम में chdir(2) का उपयोग यह सुनिश्चित करने के लिए करें कि यह सही निर्देशिका में चल रहा है यदि आपको इसे पहले स्थान पर चाहिए।

+0

यह काम किया! धन्यवाद, अब मेरा ऐप चलता है लेकिन टर्मिनल विंडो मेरे ऐप की खिड़की के शीर्ष पर रहता है। क्या आप टर्मिनल विंडो को छिपाने या बंद करने के बारे में जानते हैं? – KPexEA

+0

@KPexEA: आप इसे दोनों तरीकों दुर्भाग्य हो सकता है नहीं - आप या तो एक सामान्य आदेश-पंक्ति उपकरण लिख सकते हैं या आप एक जीयूआई के साथ एक उचित मैक अनुप्रयोग लिखते हैं, एक बंडल के साथ, .plist आदि –

+0

@Paul आर, मैं चाहते हैं यह एक उचित मैक ऐप होना है। क्या आप कहीं कहीं जानते हैं कि दस्तावेजों को उचित ऐप में कैसे बनाया जाए। मैं इसे बनाने के लिए मेकफ़ाइल का उपयोग कर रहा हूं, इसलिए यदि मैं अपने मेकफ़ाइल में "मेक बंडल" जोड़ सकता हूं जो इसे सब कुछ पैकेज करता है तो यह सबसे अच्छा होगा। यह एक एकल exe है, कोई अलग डेटा फ़ाइलों की जरूरत है। – KPexEA

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