2015-09-26 5 views
49

मैं aseprite के नवीनतम संस्करण को संकलित करने के लिए CMake के साथ एक दृश्य स्टूडियो समाधान बनाने के कोशिश कर रहा हूँ पाया जा सकता है और cmake मुझे दे रही रखता है:CMake त्रुटि: 30 (परियोजना): नहीं CMAKE_C_COMPILER

No CMAKE_C_COMPILER could be found. 
No CMAKE_CXX_COMPILER could be found. 

मैं पहले से ही जीसीसी डाउनलोड किया है और मैं दृश्य स्टूडियो का उपयोग कर रहा 2015

मैं इस ट्यूटोरियल/

https://github.com/aseprite/aseprite/blob/master/INSTALL.md

अनुसरण कर रहा हूँ मैं लगभग 3 घंटे खोज रहा हूं और इंटरनेट पर कोई समाधान नहीं लगा रहा हूं।

+0

आप विजुअल स्टूडियो के लिए या तो अपने कंपाइलर के साथ या gcc के साथ मेकफ़ाइल के लिए प्रोजेक्ट कॉन्फ़िगर कर सकते हैं। आपने किस विधि की कोशिश की है? – Tsyvarev

+0

आप जिस सेमेक कमांड में प्रवेश कर रहे हैं वह क्या है? – bames53

+0

क्या आप नवीनतम सीएमके का उपयोग कर रहे हैं? आपने किस जनरेटर का उपयोग किया था? क्या आपने विजुअल स्टूडियो 2015 कमांड प्रॉम्प्ट से कमांड चलाए हैं (इसलिए इसमें कंपाइलर पर्यावरण चर सेट हैं)? – drescherjm

उत्तर

62

उन त्रुटि संदेशों

CMake Error at ... (project): 
    No CMAKE_C_COMPILER could be found. 
-- Configuring incomplete, errors occurred! 
See also ".../CMakeFiles/CMakeOutput.log". 
See also ".../CMakeFiles/CMakeError.log". 

या

CMake Error: your CXX compiler: "CMAKE_CXX_COMPILER-NOTFOUND" was not found. 
Please set CMAKE_CXX_COMPILER to a valid compiler path or name. 
... 
-- Configuring incomplete, errors occurred! 

सिर्फ मतलब है कि CMake एक साधारण परीक्षण कार्यक्रम (पहले चीजों में से एक CMake की कोशिश करता है, जबकि संकलित करने के लिए अपने सी/CXX संकलक खोजने में असमर्थ था अपने निर्माण पर्यावरण का पता लगाने)।

आपकी समस्या का पता लगाने के लिए कदम उस निर्माण वातावरण पर निर्भर हैं जो आप उत्पन्न करना चाहते हैं। निम्नलिखित ट्यूटोरियल यहां स्टैक ओवरफ्लो और एमएस विंडोज 7/8/10 और उबंटू 14.04 पर सीएमके के साथ अपने कुछ अनुभवों का संग्रह हैं।

पूर्व शर्त

  • आप संकलक/आईडीई स्थापित किया है और यह एक बार (CMake बिना सीधे)
  • में वर्णित की तरह संकलक या समर्थन ढांचा ही स्थापित किया है नहीं हो सकता है आपके पास नवीनतम CMake version
  • आप ड्राइव आप CMake अपने निर्माण वातावरण उत्पन्न करना चाहते हैं पर पहुंच अधिकार
  • आपके पास एक स्वच्छ निर्माण निर्देशिका है (क्योंकि सीएमके आखिरी कोशिश से चीजों को कैश करता है) उदाहरण के लिए अपने स्रोत पेड़

    विंडोज cmd.exe की उप-निर्देशिका

    > rmdir /s /q VS2015 
    > mkdir VS2015 
    > cd VS2015 
    

    बैश खोल

    $ rm -rf MSYS 
    $ mkdir MSYS 
    $ cd MSYS 
    

    और के रूप में अपनी नई बनी द्विआधारी उत्पादन निर्देशिका के लिए सुनिश्चित करें कि आपके आदेश खोल अंक बनाने ।

जनरल चीजें आप/

  1. प्रयास करना चाहिए कर सकते हैं CMake में सक्षम खोजने के लिए और किसी भी साथ चलने के/अपने डिफ़ॉल्ट संकलक है?एक जनरेटर

    > cmake .. 
    -- Building for: Visual Studio 14 2015 
    ... 
    

    बिल्कुल सही दे रही है, तो इसे सही ढंग से जनरेटर का उपयोग करने के लिए निर्धारित किए बिना चलाएं - यहाँ Visual Studio 14 2015

  2. क्या यह है कि वास्तव में विफल रहा था जैसे?

    पिछली बिल्ड आउटपुट निर्देशिका में CMakeFiles\CMakeError.log को किसी भी त्रुटि संदेश के लिए देखें जो आपको समझ में आता है या CMakeFiles\[Version]\CompilerIdC पर उत्पन्न परीक्षण प्रोजेक्ट को खोलने/संकलित करने का प्रयास करता है। CompilerIdCXX सीधे कमांड लाइन से (जैसा कि त्रुटि लॉग में पाया गया है)।

CMake दृश्य स्टूडियो नहीं मिल सकता है सही generator version

> cmake --help 
> cmake -G "Visual Studio 14 2015" .. 
  • चयन करने के लिए अगर वह वी.एस. वातावरण चर सेट करने का प्रयास में मदद नहीं करता

    1. कोशिश पहला (पथ भिन्न हो सकता है)

      > "c:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" 
      > cmake .. 
      

      या Developer Command Prompt for VS2015 अपने Windows प्रारंभ मेनू में के तहत All Programs/Visual Studio 2015/Visual Studio Tools (धन्यवाद @Antwane पर संकेत के लिए) लघु कट

    पृष्ठभूमि का उपयोग करें: CMake सभी दृश्य स्टूडियो विज्ञप्ति और जायके का समर्थन करता है (एक्सप्रेस, सामुदायिक, पेशेवर, प्रीमियम, टेस्ट, टीम, एंटरप्राइज़, अल्टीमेट, ...)। कंपाइलर का स्थान निर्धारित करने के लिए यह रजिस्ट्री को खोजने का संयोजन उपयोग करता है (उदा। HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\[Version];InstallDir पर), सिस्टम पर्यावरण चर और - यदि कोई अन्य कुछ नहीं आया - स्पष्ट रूप से संकलक को कॉल करने का प्रयास करें।

    CMake जीसीसी (MinGW/MSys) नहीं मिल रहा है

    1. आप msys.bat साथ MSys bash खोल शुरू करने और बस सीधे gcc

      $ gcc 
      gcc.exe: fatal error: no input files 
      compilation terminated. 
      

      यहाँ कॉल करने के लिए यह पता चला की कोशिश gcc और शिकायत कर रहा है कि मैंने इसे काम करने के लिए कोई पैरामीटर नहीं दिया है।

      तो निम्नलिखित काम करना चाहिए:

      $ cmake -G "MSYS Makefiles" .. 
      -- The CXX compiler identification is GNU 4.8.1   
      ... 
      $ make 
      

      जीसीसी अपने compilers पथ को जोड़ने (How to set PATH environment variable in CMake script? देखें) और फिर से कोशिश करने के लिए कॉल export PATH=... नहीं मिला था तो।का उपयोग करते समय:

    2. यह अभी भी काम नहीं कर रहा है, तो (पथ भिन्न हो सकते हैं)

      $ export CC=/c/MinGW/bin/gcc.exe 
      $ export CXX=/c/MinGW/bin/g++.exe 
      $ cmake -G "MinGW Makefiles" .. 
      -- The CXX compiler identification is GNU 4.8.1   
      ... 
      $ mingw32-make 
      

      के लिए अधिक विवरण देखने के how to specify new gcc path for cmake

      नोट निर्यात करके सीधे CXX संकलक पथ सेट करने का प्रयास "मिनजीडब्लू मेकफ़ाइल" जेनरेटर आपको mingw32-make प्रोग्राम का उपयोग करना है जो कि मिनीजीडब्ल्यू

    3. अभी भी काम नहीं कर रहा है? वह अजीब है। कृपया सुनिश्चित करें कि संकलक वहां है और इसमें निष्पादन योग्य अधिकार हैं (ऊपर पूर्व शर्त अध्याय भी देखें)।

      अन्यथा CMake का अंतिम उपाय किसी भी संकलक खोज ही नहीं कोशिश करते हैं और सीधे CMake के आंतरिक चर सेट द्वारा

      $ cmake -DCMAKE_C_COMPILER=/c/MinGW/bin/gcc.exe -DCMAKE_CXX_COMPILER=/c/MinGW/bin/g++.exe .. 
      

      अधिक जानकारी के Cmake doesn't honour -D CMAKE_CXX_COMPILER=g++ और Cmake error setting compiler

      वैकल्पिक रूप से उन चर भी सेट किया जा सकता है देखने के लिए है विंडोज पर cmake-gui.exe के माध्यम से। देखें Cmake cannot find compiler

    पृष्ठभूमि: दृश्य स्टूडियो के साथ रूप में एक ही। सीएमके जीसीसी स्वाद के सभी प्रकार का समर्थन करता है। यह पर्यावरण चर (सीसी, सीईओ, ...) की खोज करता है या बस संकलक को कॉल करने का प्रयास करता है। इसके अलावा यह किसी भी उपसर्ग (जब cross-compiling) का पता लगाने और जीएनयू संकलक toolchain (ar, ranlib, strip, ld, nm, objdump, objcopy) के सभी binutils में जोड़ने के लिए कोशिश करता है जाएगा।

  • 3

    मुझे सीएमके के साथ समान त्रुटियां थीं। मेरे मामले में, मैंने प्रारंभिक सीमैक संवाद में गलत दृश्य स्टूडियो संस्करण का उपयोग किया है जहां हमें दृश्य स्टूडियो कंपाइलर का चयन करना होगा। फिर मैंने इसे "विजुअल स्टूडियो 11 2012" के रूप में बदल दिया और चीजें काम करती हैं। (मेरे पास मेरे पीसी में विजुअल स्टूडियो अल्टीमेट 2012 संस्करण है)। सामान्य रूप से, प्रारंभिक सीएमके कॉन्फ़िगरेशन संवाद में विजुअल स्टूडियो संस्करण का पुराना संस्करण देने का प्रयास करें।

    4

    libgit2-0.23.4 बनाने के दौरान मैं इस मुद्दे में भाग गया। मेरे लिए समस्या यह थी कि सी ++ कंपाइलर & संबंधित पैकेज वीएस2015 के साथ स्थापित नहीं किए गए थे, इसलिए "सी: \ प्रोग्राम फ़ाइलें (x86) \ माइक्रोसॉफ्ट विजुअल स्टूडियो 14.0 \ वीसी \ vcvarsall.bat" फ़ाइल गायब थी और सीमेक सक्षम नहीं था कंपाइलर खोजने के लिए।

    मैं मैन्युअल रूप से विजुअल स्टूडियो 2015 जीयूआई में एक सी ++ परियोजना बनाने की कोशिश की (C: \ Program Files (x86) \ माइक्रोसॉफ्ट विजुअल स्टूडियो 14.0 \ Common7 \ IDE \ devenv.exe) और परियोजना बनाने के दौरान, मैं C++ & संबंधित संकुल डाउनलोड करने के लिए एक संकेत मिला।

    आवश्यक पैकेज डाउनलोड करने के बाद, मैं vcvarsall देख सकता था।बल्ले & CMake संकलक & निम्नलिखित लॉग के साथ सफलतापूर्वक क्रियान्वित ढूँढने में सक्षम था:

    C:\Users\aksmahaj\Documents\MyLab\fritzing\libgit2\build64>cmake .. 
    -- Building for: Visual Studio 14 2015 
    -- The C compiler identification is MSVC 19.0.24210.0 
    -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual   
    Studio 14.0/VC/bin/cl.exe 
    -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual 
    Studio 14.0/VC/bin/cl.exe -- works 
    -- Detecting C compiler ABI info 
    -- Detecting C compiler ABI info - done 
    -- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE) 
    -- Could NOT find ZLIB (missing: ZLIB_LIBRARY ZLIB_INCLUDE_DIR) 
    -- zlib was not found; using bundled 3rd-party sources. 
    -- LIBSSH2 not found. Set CMAKE_PREFIX_PATH if it is installed outside of 
    the default search path. 
    -- Looking for futimens 
    -- Looking for futimens - not found 
    -- Looking for qsort_r 
    -- Looking for qsort_r - not found 
    -- Looking for qsort_s 
    -- Looking for qsort_s - found 
    -- Looking for clock_gettime in rt 
    -- Looking for clock_gettime in rt - not found 
    -- Found PythonInterp: C:/csvn/Python25/python.exe (found version "2.7.1") 
    -- Configuring done 
    -- Generating done 
    -- Build files have been written to:  
    C:/Users/aksmahaj/Documents/MyLab/fritzing/libgit2/build64 
    
    +1

    यह मेरे लिए काम करता है। आवश्यक पैकेज स्थापित करने के लिए मैन्युअल रूप से एक सी ++ प्रोजेक्ट बनाना चाल था। – Melaz

    9

    मैं भी जब CMake

    No CMAKE_C_COMPILER could be found. 
    No CMAKE_CXX_COMPILER could be found. 
    

    इस MSDN लाइब्रेरी लेख https://msdn.microsoft.com/en-us/library/60k1461a.aspx में 'चेतावनी' बॉक्स के साथ काम करने के लिए इस त्रुटि का अनुभव मुझे वह मदद दी जो मुझे चाहिए।

    विजुअल स्टूडियो 2015 डिफ़ॉल्ट रूप से स्थापित C++ के साथ नहीं आता है। इसलिए, एक नया सी ++ प्रोजेक्ट बनाना आपको आवश्यक सी ++ घटकों को डाउनलोड करने के लिए प्रेरित करेगा।

    2

    सुनिश्चित करें कि आपने विजुअल स्टूडियो का सही संस्करण चुना है। ऐसा लगता है कि यह विजुअल स्टूडियो 2015 वास्तव में विजुअल स्टूडियो 14 है, और इसी प्रकार विजुअल स्टूडियो 2012 विजुअल स्टूडियो 11 है। मैंने विजुअल स्टूडियो 15 को गलत तरीके से चुना है जो वास्तव में विजुअल स्टूडियो 2017 है, जब मैंने 2015 स्थापित किया था।

    1

    यहां कोई भी समाधान मेरी समस्या हल नहीं करता है, केवल तभी जब मैं सार्वभौमिक सी रनटाइम के लिए विंडोज अपडेट स्थापित करता हूं।

    अब सीएमकेई काम कर रहा है और दृश्य स्टूडियो से कोई और लिंक लटका नहीं है।

    https://support.microsoft.com/en-us/help/3118401/update-for-universal-c-runtime-in-windows

    0

    मैं दृश्य स्टूडियो दृश्य स्टूडियो 2015 अद्यतन 3 करने के लिए 2015 अपडेट 2 अद्यतन और यह मेरी समस्या हल।

    1

    ubuntu बातें नीचे स्थापित करें के लिए:

    उपयुक्त sudo- मिल अद्यतन & & उपयुक्त sudo- मिल स्थापित निर्माण आवश्यक

    3

    के बाद मैं दृश्य स्टूडियो स्थापित मेरे लिए यह happend 15 2017

    विजुअल स्टूडियो 14 2015 के लिए सी ++ कंपाइलर समस्या नहीं थी। यह विंडोज 10 एसडीके के साथ एक समस्या प्रतीत होता था।

    विजुअल स्टूडियो 14 2015 में विंडोज 10 एसडीके को जोड़ने से मेरे लिए समस्या हल हो गई।

    संलग्न स्क्रीनशॉट देखें।

    enter image description here

    0

    मैं, cmake-जीयूआई (No CMAKE_CXX_COMPILER could be found.) के साथ एक ही मुद्दा था, जबकि कमांड लाइन से cmake चल ठीक काम किया। मैन्युअल प्रविष्टियों

    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin

    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin

    यह मेरे लिए काम किया जोड़ने के बाद।