2009-12-18 15 views
11

मैं एक पुराने कार्यक्रम को पोर्ट करने की कोशिश कर रहा हूं जिसे मैंने उबंटू में केडीव से क्लास के लिए विंडोज विजुअल स्टूडियो 2008 में व्यक्तिगत शिक्षा अभ्यास के रूप में सिगविन का उपयोग करके लिखा था। मेरे पास C:\cygwin\usr\include शामिल करने के लिए कॉन्फ़िगर किया गया पथ शामिल है लेकिन यह .h फ़ाइलों को ठीक से नहीं पढ़ता है।विजुअल स्टूडियो में सिग्विन

अर्थात् मैं उत्सुक हूं कि सिगविन का उपयोग कर विजुअल स्टूडियो पर्यावरण में यूनिक्स sockets.h कार्यक्षमता का उपयोग करने के बारे में कोई उत्सुकता कैसे होगी। क्या किसी ने कभी यह काम किया है या ऐसा करने के लिए जाने का एक आसान तरीका है?

+0

स्टैक ओवरफ़्लो में आपका स्वागत है। सबसे पहले, सही तरीके से नहीं, तो यह हेडर कैसे पढ़ता है? कृपया अधिक सटीक रहें। (यह बताएं कि यह क्या करता है, न कि यह क्या करता है।) दूसरा, सॉकेट का उपयोग कैसे करें, पहले मुद्दे के साथ कुछ भी नहीं करना है, हेडर आसानी से कैसे पढ़ा जाए। कृपया अपना दूसरा अनुच्छेद एक नए प्रश्न पर ले जाने पर विचार करें। आपको दोनों तरह से बेहतर जवाब मिलेंगे (साथ ही प्रतिष्ठा बिंदुओं के लिए अधिक अवसर)। –

+0

मुझे यकीन नहीं है कि आप जो करने की कोशिश कर रहे हैं वह काम करेगा। सिग्विन हेडर और पुस्तकालय एमएसवीसी की बजाय जीसीसी के साथ संकलन की दिशा में तैयार हैं। – ZoogieZork

उत्तर

8

इस बारे में जाने के कई तरीके हैं जो आपके सटीक लक्ष्यों के आधार पर काम करने के लिए किए जा सकते हैं। सबसे आसान तरीका शायद एक विजुअल स्टूडियो "मेकफ़ाइल" प्रोजेक्ट बनाने के लिए है जो आपके द्वारा बनाए गए मेकफ़ाइल को चलाने के लिए कस्टम बिल्ड कमांड को निकाल देता है। लेकिन यह आपको विजुअल स्टूडियो के बहुत अच्छे लाभों से एक आईडीई के रूप में दूर रखता है, इसलिए मैं अनुमान लगा रहा हूं कि वास्तव में आप जो भी कर रहे हैं वह वास्तव में नहीं है।

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

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

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

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

+0

कस्टम एक्सटेंशन और बिल्ड नियम थोड़ा tweaking के बाद काम किया, मैंने कस्टम निर्माण नियमों के साथ काम नहीं किया है, इसलिए मैंने इसके बारे में भी सोचा नहीं था। यह एक सही समाधान नहीं है और यह चीजों को करने के लिए जाने का कोई प्रभावी तरीका नहीं है, लेकिन इसका उद्देश्य सीमाओं का परीक्षण करने और व्यावहारिक चीज़ों की तुलना में नई चीजों की खोज करने के लिए एक सीखने का अनुभव था। – WarrenB

4

बस बोलते हुए, ऐसा न करें। यह सिर्फ समय बर्बाद होगा। मैंने इसे कई बार कोशिश की, लेकिन हमेशा असफल रहा। अधिकतर, मैं कई लिंकिंग त्रुटियों से निराश था, और डीएस को डीबगर के रूप में उपयोग करने में असमर्थ था।

आप स्रोत कोड संपादित करने और ब्राउज़ करने के लिए विजुअल स्टूडियो का उपयोग कर सकते हैं। यह अच्छा है क्योंकि वीएस सर्वश्रेष्ठ सी/सी ++ इंटेलिजेंस फीचर्स प्रदान करता है (उदाहरण के लिए, ऑटो पूर्णता, तेजी से परिभाषा/घोषणा पर जाएं)। लेकिन, विजुअल स्टूडियो 2008 के साथ साइगविन टूल चेन का उपयोग करना बहुत मुश्किल है। विजुअल स्टूडियो 2008 को अन्य टूल चेन के साथ काम करने के लिए डिज़ाइन नहीं किया गया है। विशेष रूप से, आपको (1) हेडर, (2) पुस्तकालयों, (3) कंपाइलर और (4) लिंकर को बदलने की आवश्यकता है। हालांकि, यह आमतौर पर बहुत कठिन होता है, या आपको विजुअल स्टूडियो की अच्छी सुविधाओं के साथ व्यापार करने की आवश्यकता होती है।

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

दुर्भाग्यवश, वर्तमान विजुअल स्टूडियो 2008 साइगविन/मिनजीडब्ल्यू के लिए नहीं है।