2012-03-14 13 views
8

मैं इस thread और one का पालन कर रहा हूं ताकि बिना किसी सूडो अनुमति के अपने स्वयं के केडीई का निर्माण किया जा सके। चूंकि वर्कस्टेशन पर कोई गिट और सीमैक स्थापित नहीं हुआ था। मैं सिर्फ उन्हें दोनों /घर/< उपयोगकर्ता> के तहत स्थापित किया और /घर/< उपयोगकर्ता>/bin और /घर/< उपयोगकर्ता>/lib दोनों पथ और LD_LIBRARY_PATH को जोड़ा गया था। चूंकि केडीई बिल्ड केवल सीएमके का समर्थन करता है, कॉन्फ़िगर नहीं करता है। इसलिए मुझे सीएमके के माध्यम से उपसर्ग सेट करना है, जैसे: cmake ~/kde-devel/src/kdelibs -DCMAKE_INSTALL_PREFIX=/home/<user>। इस बिंदु पर मैं त्रुटि नीचे मिला:सीएमके शिकायत करता है "सीएफओ कंपाइलर पहचान अज्ञात है"

> ~/bin/cmake ~/kde-devel/src/kdelibs -DCMAKE_INSTALL_PREFIX=/home/<user> 
-- The CXX compiler identification is unknown 
-- Check for working CXX compiler: /home/gnu/bin/c++ 
-- Check for working CXX compiler: /home/gnu/bin/c++ -- broken 
CMake Error at /home/<user>/share/cmake-2.8/Modules/CMakeTestCXXCompiler.cmake:45 (MESSAGE): 
    The C++ compiler "/home/gnu/bin/c++" is not able to compile a simple test 
    program. 

    It fails with the following output: 

    Change Dir: /home/<user>/kde-devel/build/kdelibs/CMakeFiles/CMakeTmp 



    Run Build Command:/usr/bin/gmake "cmTryCompileExec/fast" 
    ... 

मैं जाँच की 2 सी ++ compilers देखते हैं कि:

> where c++ 
/home/gnu/bin/c++ 
/usr/bin/c++ 

मैं सेट करनी चाहिए CMake डिफ़ॉल्ट सी ++ को संकलक? और कैसे? या इस मुद्दे को ठीक करने का कोई तरीका है?

उत्तर

11

आपकी /home/gnu/bin/c++ चीजों को ठीक से जोड़ने के लिए अतिरिक्त ध्वज की आवश्यकता होती है और सीएमके को इसके बारे में पता नहीं है।

का उपयोग करने के लिए cmake-DCMAKE_CXX_COMPILER=/usr/bin/c++ के साथ का उपयोग करें।

इसके अलावा, CMAKE_PREFIX_PATH परिवर्तनीय सेट गंतव्य डीआईआर जहां आपकी परियोजना की फाइलें स्थापित की जानी चाहिए। सीएमके इंस्टॉलेशन उपसर्ग के साथ इसका कोई लेना-देना नहीं है और सीएमके खुद को पहले से ही जानता है।

+0

'-DCMAKE_CXX_COMPILER =/usr/bin/c +' + विंडोज़ 10 बैश खोल पर मेरी समस्या हल हो गई। WebAssembly – TechMaze

2

मुझे बस अपना नया लैपटॉप स्थापित करने में समस्या थी। मेरे लिए मुद्दा यह था कि मेरा टूलचेन (कोडसोर्सरी) 32 बिट है और मैंने 32 बिट libs इंस्टॉल नहीं किया था।

sudo apt-get install ia32-libs 
14

अपने सिस्टम पर apt-get install build-essential चलाएं।

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

अधिक जानकारी के लिए this page देखें।

+2

के लिए 'Emscripten' इंस्टॉल करते समय मुझे इस समस्या का सामना करना पड़ रहा था, कृपया अपने समाधान के बारे में कुछ टिप्पणियां जोड़ें कि यह समस्या क्यों हल करती है और कैसे –

+0

मेरे लिए वर्क, thx! – BobMorane

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