2017-12-29 104 views
11

EDIT2: समस्या एक साधारण टाइपोग्राफ़िकल त्रुटि नहीं थी। मैंने नीचे दिए गए लॉग में एक टाइपो बनाया, जिसे मैंने सही किया, लेकिन समस्या अभी भी वहां थी।किसी भी सी ++ प्रोग्राम संकलित नहीं कर सकता; त्रुटि: अज्ञात प्रकार का नाम 'uint8_t'

संपादित करें: मैं गलती से नीचे प्रयास करने के बाद, g ++ के बजाय gcc के साथ भाग गया। जी ++ के साथ समस्या पहले थी और यह अब वहां है।

मैं वर्तमान में मैकोज़ हाई सिएरा बॉक्स पर हूं। मैंने हाल ही में मैकबुक एयर से कई मशीनें इस मशीन पर ले जाईं, जिसमें मुझे लगता है कि एक्सकोड के सभी जंक थे। अब, जब मैं एक बहुत ही सरल सी ++ प्रोग्राम को संकलित करने का प्रयास करें:

[email protected]: [config_file_script] $ g++ test.cpp -o test 
In file included from test.cpp:1: 
In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/iostream:38: 
In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/ios:216: 
In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/__locale:15: 
In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/string:470: 
In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/string_view:171: 
In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/__string:56: 
In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/algorithm:640: 
In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/memory:629: 
In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/typeinfo:61: 
In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/exception:82: 
In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/cstdlib:86: 
In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/stdlib.h:94: 
In file included from /usr/include/stdlib.h:65: 
In file included from /usr/include/sys/wait.h:110: 
/usr/include/sys/resource.h:196:2: error: unknown type name 'uint8_t' 
     uint8_t ri_uuid[16]; 
     ^
/usr/include/sys/resource.h:197:2: error: unknown type name 'uint64_t' 
     uint64_t ri_user_time; 
     ^
/usr/include/sys/resource.h:198:2: error: unknown type name 'uint64_t' 
     uint64_t ri_system_time; 
     ^
/usr/include/sys/resource.h:199:2: error: unknown type name 'uint64_t' 
     uint64_t ri_pkg_idle_wkups; 
     ^
/usr/include/sys/resource.h:200:2: error: unknown type name 'uint64_t' 
     uint64_t ri_interrupt_wkups; 
     ^
/usr/include/sys/resource.h:201:2: error: unknown type name 'uint64_t' 
     uint64_t ri_pageins; 
     ^
/usr/include/sys/resource.h:202:2: error: unknown type name 'uint64_t' 
     uint64_t ri_wired_size; 
     ^
/usr/include/sys/resource.h:203:2: error: unknown type name 'uint64_t' 
     uint64_t ri_resident_size; 
     ^
/usr/include/sys/resource.h:204:2: error: unknown type name 'uint64_t' 
     uint64_t ri_phys_footprint; 
     ^
/usr/include/sys/resource.h:205:2: error: unknown type name 'uint64_t' 
     uint64_t ri_proc_start_abstime; 
     ^
/usr/include/sys/resource.h:206:2: error: unknown type name 'uint64_t' 
     uint64_t ri_proc_exit_abstime; 
     ^
/usr/include/sys/resource.h:210:2: error: unknown type name 'uint8_t' 
     uint8_t ri_uuid[16]; 
     ^
/usr/include/sys/resource.h:211:2: error: unknown type name 'uint64_t' 
     uint64_t ri_user_time; 
     ^
/usr/include/sys/resource.h:212:2: error: unknown type name 'uint64_t' 
     uint64_t ri_system_time; 
     ^
/usr/include/sys/resource.h:213:2: error: unknown type name 'uint64_t' 
     uint64_t ri_pkg_idle_wkups; 
     ^
/usr/include/sys/resource.h:214:2: error: unknown type name 'uint64_t' 
     uint64_t ri_interrupt_wkups; 
     ^
/usr/include/sys/resource.h:215:2: error: unknown type name 'uint64_t' 
     uint64_t ri_pageins; 
     ^
/usr/include/sys/resource.h:216:2: error: unknown type name 'uint64_t' 
     uint64_t ri_wired_size; 
     ^
/usr/include/sys/resource.h:217:2: error: unknown type name 'uint64_t' 
     uint64_t ri_resident_size; 
     ^
fatal error: too many errors emitted, stopping now [-ferror-limit=] 
20 errors generated. 

मैं स्थापित करने और सब कुछ मैं इस समस्या से संबंधित के बारे में सोच सकता है फिर से स्थापित करने की कोशिश की है:

#include <iostream> 

int main() 
{ 
    // VAR_DEC 
    int a = 4; 
    // VAR_MANIP 
    a = a*2; 
    // VAR_PRINT 
    std::cout << a << std::endl; 
    return 0; 
} 

मैं निम्नलिखित हास्यास्पद त्रुटि मिलती है

और अधिक, लेकिन उन बहुत अच्छी तरह से यह संक्षेप में प्रस्तुत। समाधानों में से कोई भी काम नहीं किया है।

मुझे लगता है कि the last one सबसे अधिक संभावना समाधान है। हालांकि

Fix: Remove /opt/local/include/** and /opt/local/lib/** from the "Header Search Paths" build settings. Replace them with much more specific paths to the desired include directories. In my particular case, this meant replacing them with /opt/local/include/glib-2.0 /opt/local/lib/glib-2.0/include /opt/local/include/. It's up and running again!

, मैं Xcode स्थापित नहीं किया, मैं सिर्फ कमांड लाइन डेवलपर उपकरण स्थापित: (आप पृष्ठ पर "अज्ञात" की खोज करते हैं आप ठीक देखेंगे।) डेवलपर के अनुसार। इसलिए, मेरे पास "शीर्षलेख खोज पथ" निर्माण सेटिंग्स तक पहुंचने का कोई आसान तरीका नहीं है, और इस प्रकार, मैं उसका समाधान नहीं आ सकता।

मैं इस समस्या का समाधान ढूंढ रहा हूं, अधिमानतः एक जिसे मुझे पूरे ओएस को स्थापित करने की आवश्यकता नहीं है। वैकल्पिक रूप से, अगर कोई मुझे बिल्ड सेटिंग्स फ़ाइल ढूंढने के माध्यम से कृपया मार्गदर्शन कर सकता है, तो मैं बहुत आभारी रहूंगा।

+0

टिप्पणियाँ विस्तृत चर्चा के लिए नहीं हैं, इस बातचीत की गई है [चैट करने के लिए ले जाया गया] (http://chat.stackoverflow.com/rooms/162198/discussion-on-question-by-joseph-farah-cannot-compile-any-c-programs-error-u) । –

उत्तर

3

यह स्पष्ट रूप से स्पष्ट है कि आपने अपने सिस्टम जीसीसी स्थापना को बोर्क किया है। कृपया ध्यान दें कि जीसीसी कंप्यूटर्स के सूट और जी ++ सी ++ फ्रंट-एंड है। पैकेज प्रबंधकों के पास अक्सर gcc-g++ नामक एक अलग पैकेज होता है, हालांकि, स्रोत से संकलित करते समय, आप बस --enable-languages=c,c++ करते हैं। अब यदि XCode को पुनर्स्थापित करना समस्या का समाधान नहीं करता है (आपको पहले से ही यह करना चाहिए था, अगर "यह बहुत अधिक जगह लेता है" तो इसे हटा दें), फिर आप स्रोत से जीसीसी संकलित करने का प्रयास कर सकते हैं।GNU wiki से अनुकूलित:

  • पहले, से here

  • यह Untar tar zxvf gcc*

  • तो cd gcc*./contrib/download_prerequisites

  • साथ अपने वांछित जीसीसी टार गेंद हड़पने स्रोत निर्माण के बाहर करो : mkdir build && cd build

  • ../gcc*/configure --prefix=$HOME/gcc-install --enable-languages=c,c++

  • make और make install

अब बस अपने रास्ते पर $HOME/gcc-install/bin जोड़ सकते हैं और तुम जाना अच्छा होना चाहिए।

+0

यह मेरी समस्या हल हो गया! मैं यह भी जोड़ना चाहता हूं कि इसे करने से पहले मुझे मैन्युअल रूप से कमांड लाइन टूल्स निर्देशिका * मैन्युअल रूप से * निकालना पड़ा; इसके अलावा यह काम किया! धन्यवाद दोस्त! साथ ही, मेरी इच्छा है कि मैं इसे "बोर्कड" शब्द के प्राचीन उपयोग के लिए दो बार बढ़ा सकता हूं। –

+0

क्या काम किया? आप संभवतः जीसीसी को संकलित नहीं कर पाएंगे। – OwO

+0

ये आम तौर पर मेरे द्वारा हल की जाने वाली चरणों को हल करते थे - जीसीसी को स्रोत से संकलित करते हुए और इसे मेरे पथ में जोड़ते थे। मेरे पास कुछ छोटे मुद्दे हैं - यही कारण है कि मैंने कुछ जवाब के समान कुछ पोस्ट नहीं किया - लेकिन मैंने समस्या को रूट की पिछली स्थापना में संकुचित कर दिया है, और मैं इसे ठीक करने पर काम कर रहा हूं पिछले कुछ घंटों। किसी भी भ्रम के लिए खेद है! –

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