पर किसी भी जीसीसी संकलित सी कार्यक्रम को क्रियान्वित करने जब किसी भी सी प्रोग्राम है जो मैं टर्मिनल से gcc
साथ संकलित किया है को क्रियान्वित करने से इनकार किया है, मैं एक अनुमति नहीं दी त्रुटि मिलती है।अनुमति ओएस एक्स (10.8.2) माउंटेन शेर
शुरू करने के लिए, मैं सत्यापित और मेरी ड्राइव (ऐसा करने से पहले, एक ही समस्या हो रहा था) पर मरम्मत अनुमतियाँ है।
उदाहरण देकर स्पष्ट करना और समस्या को अलग करने के लिए, मैं तुम्हें दिखाता हूँ कि इस अति सरल नमस्ते विश्व कार्यक्रम के साथ होता है (अन्य कार्यक्रमों के साथ, एक ही बात होती है):
#include <stdio.h>
main()
{
printf("Hello World");
}
अब, मैं करने के लिए इस को बचाने के मेरा डेस्कटॉप helloworld.c
के रूप में। इस बिंदु पर, डेस्कटॉप, एक ls -l
रिटर्न से:
total 8
-rw-r--r-- 1 michael staff 56 Mar 13 14:08 helloworld.c
मैं तो gcc -c helloworld.c -o helloworld
साथ संकलन (मैं भी एक ही परिणाम के साथ -o
झंडा बिना संकलन की कोशिश की है)। कोई चेतावनी या त्रुटियां नहीं। एक ls -l
अब रिटर्न: बस डिबगिंग की खातिर
-bash: ./helloworld.o: Permission denied
, अगर मैं sudo (sudo ./helloworld.o
) के साथ निष्पादित, यह रिटर्न:
total 16
-rw-r--r-- 1 michael staff 56 Mar 13 14:08 helloworld.c
-rw-r--r-- 1 michael staff 724 Mar 13 14:16 helloworld.o
./helloworld.o
रिटर्न के साथ जीसीसी के उत्पादन पर अमल करने, प्रयास कर रहा है:
sudo: ./helloworld.o: command not found
अब, के रूप में खोज आर का एक बहुत पर सिफारिश की गई थी कि अगर मैं निष्पादन योग्य झंडा chmod +x helloworld.o
का उपयोग कर, सेट करने का प्रयास esults मैंने पाया, ls -l
रिटर्न:
total 16
-rw-r--r-- 1 michael staff 56 Mar 13 14:08 helloworld.c
-rwxr-xr-x 1 michael staff 724 Mar 13 14:16 helloworld.o
हालांकि
, ./helloworld.o
साथ निष्पादित करने के लिए प्रयास करने से अब रिटर्न:
-bash: ./helloworld.o: Malformed Mach-o file
अब, खातिर, where gcc
रिटर्न डीबगिंग के लिए:
/usr/bin/gcc
तो , आपको लगता है कि मैं एक तीसरी पार्टी gcc
उपयोग नहीं कर रहा देख सकते हैं।
किसी को भी पता है कि समस्या क्या हो सकता है? मैंने चारों ओर खोज करने की कोशिश की है, लेकिन मुझे कोई कामकाजी समाधान नहीं मिला। मैं इस एक ही समस्या पहले और के बाद से हाल में पुनर्स्थापित ओएस एक्स है (विभिन्न कारणों के लिए) हो रही थी और अभी भी एक स्वच्छ और संगठित विकास के वातावरण के साथ इस समस्या हो रही है। संदर्भ के लिए, मैं पर ओएस एक्स 10.8.2 हूँ और नवीनतम (एप्पल के डेवलपर वेबसाइट से) Xcode कमांड लाइन उपकरण के संस्करण के साथ Xcode 4.6 है। मैंने होमब्रे से या किसी अन्य तीसरे पक्ष के स्रोत से जीसीसी स्थापित नहीं किया है; यह जीसीसी है जो एक्सकोड कमांड लाइन टूल्स के साथ आया था।
आपकी मदद के लिए बहुत बहुत धन्यवाद! मैं वास्तव में आपकी मदद पढ़ने, निदान करने और आपकी सहायता देने के लिए अपना समय लेने की सराहना करता हूं। :)
मुझे यह समस्या थी जब मैंने foobar बनाया था जहां foobar.c में कोई त्रुटि थी। जब मैंने त्रुटि तय की, तो यह काम किया। – quantumpotato