एक्सकोड संस्करण 4.3.2 के साथ मैक ओएस एक्स शेर 10.7.5 पर मैटलैब मेक्स फ़ाइलों को चला नहीं सकता है

जब मैं matlab पर c ++ कोड चलाने की कोशिश कर रहा हूं, तो मैं निम्न आदेशों का उपयोग करता हूं:

मेक्सिको '-सेटअप' (फिर मैं निम्नलिखित दो विकल्पों का चयन करता हूं जो हैं:   1:/अनुप्रयोग/MATLAB_R2011a_Student.app/bin/gccopts.sh:       जीसीसी मेक्स-फाइलों के निर्माण के लिए टेम्पलेट विकल्प फ़ाइल

तथा   2:/अनुप्रयोग/MATLAB_R2011a_Student.app/bin/mexopts.sh:       सिस्टम एएनएसआई कंपाइलर के माध्यम से मेक्स-फाइलों के निर्माण के लिए टेम्पलेट विकल्प फ़ाइल

जब मैं किसी एक को चुनता हूं और निम्न लिखकर एक मैक्स फ़ाइल का चयन करता हूं: mex mextest1p0.cpp, मुझे ये त्रुटि संदेश मिलते हैं:

/ अनुप्रयोग/MATLAB_R2011a_Student.app/bin/mex: पंक्ति 1041: g ++ - 4.2: आदेश नहीं मिला

मैं इसे कैसे ठीक करूं। नोट: मैंने इस समस्या के बारे में कुछ पोस्ट देखी है और मैंने विभिन्न समाधानों का प्रयास किया है, लेकिन कुछ भी काम नहीं कर रहा है

0

2 उत्तर

आपको एक कंपाइलर - अर्थात जी ++ (जीएनयू सी ++ कंपाइलर) स्थापित करने की आवश्यकता है। ओएस एक्स पर, ऐसा करने का सबसे आसान तरीका यह है कि एक्सकोड कमांड लाइन डेवलपर टूल्स इंस्टॉल करना - एक्सकोड खोलें, वरीयताओं पर जाएं, डाउनलोड चुनें, और फिर कमांड लाइन टूल्स इंस्टॉल करें। यदि Matlab अभी भी G ++ नहीं ढूंढ पा रहा है, तो आपको पथ समस्या मिली है (और इसके बारे में हमें बताएं) - समाधान शायद आपके gccopts स्क्रिप्ट में है।

0
जोड़ा

यदि आप नहीं चाहते हैं, तो आपको वास्तव में सभी एक्सकोड स्थापित करने की आवश्यकता नहीं है, मुझे विश्वास है। इसमें बहुत सी हार्ड ड्राइव स्पेस लगती है। आपको एक ऐप्पल डेवलपर खाता (छात्रों के लिए मुफ़्त) (1) की आवश्यकता होगी। फिर आप (2) developer.apple पर डाउनलोड पेज पर जा सकते हैं। कॉम और ओएस एक्स के अपने संस्करण के लिए केवल कमांड लाइन टूल्स डाउनलोड करें (10.7 के लिए इनके लिए अंतिम मार्च 2013 में था - यह वर्तमान में डाउनलोड के तीसरे पृष्ठ पर है)। इसके लिए इंस्टॉलर चलाएं।

फिर आपको (3) अपनी mexopts.sh फ़ाइल संपादित करने की आवश्यकता होगी। यदि आपके पास एक्सकोड है या नहीं तो आपको यह करने की आवश्यकता होगी। अपनी Matlab कमांड विंडो में निम्न टाइप करें:

edit([matlabroot '/bin/mexopts.sh'])

यदि आप स्क्रू करते हैं तो उस फ़ाइल की एक प्रति बनाएं जो खुलती है। आपको अपने सिस्टम के आधार पर फ़ाइल और कमांड लाइन टूल्स के साथ शामिल शिकायतकर्ता को संपादित करने की आवश्यकता होगी (आप cc -v और c ++ -v या टर्मिनल.एप में समान)। ओएस एक्स से संबंधित अनुभाग की तलाश करें। आपको निम्न आइटम सेट करने की आवश्यकता होगी (ये Matlab R2012b से हैं और थोड़ी देर से बदल गए हैं, लेकिन मुझे लगता है कि आप पुराने संस्करण का उपयोग कर रहे हैं):

CC='llvm-gcc-4.2'

या शायद बस

CC='gcc-4.2'

तथा

SDKROOT='/'
MACOSX_DEPLOYMENT_TARGET='10.7'

यदि आप एक्सकोड का उपयोग कर रहे हैं, तो SDKROOT शायद '/ डेवलपर/एसडीके/MacOSX10.7.sdk' होना चाहिए। नीचे दिए गए सी ++ सेक्शन के लिए आपको शायद इसकी आवश्यकता होगी

CXX='llvm-g++-4.2'

या

CXX='g++-4.2'

(4) Finally, save your edited mexopts.sh file तथा run the following in the Matlab commतथा window:

mex -setup

Choose your file (press 1 probably) तथा choose yes ([y]). You should now be able to compile using the mex function.

0
जोड़ा