Search code examples
c++cgcccmakecmakelists-options

CMAKE_C_COMPILER not set, after EnableLanguage


I installed CMake on windows in addition to gcc and g++ compiler I added the variables to the path but still getting the following error could you please help.

enter image description here

-- Building for: NMake Makefiles
CMake Error at CMakeLists.txt:6 (project):
  Running

   'nmake' '-?'

  failed with:

   The system cannot find the file specified


CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!
See also "C:/Users/DEANHOS/Desktop/peer/cmake tutorial/codeAndTech/sample/CMakeFiles/CMakeOutput.log".


Solution

  • These variables need to be passed on the command line as:

    $ cmake -DCMAKE_CXX_COMPILER=/pathto/g++ -DCMAKE_C_COMPILER=/pathto/gcc /pathto/source
    

    or set up before the project() line in CMakeLists.txt:

    set( CMAKE_CXX_COMPILER "/pathto/g++" )
    set( CMAKE_C_COMPILER "/pathto/gcc" )
    
    project(mytest)
    ...
    

    or alternatively brought in with the -C <toolchain> command as

    # mygcc.cmake 
    # toolchain file
    set( CMAKE_CXX_COMPILER "/pathto/g++" )
    set( CMAKE_C_COMPILER "/pathto/gcc" )
    
    $ cmake -C /pathto/mygcc.cmake /pathto/source