2013-02-22 7 views
0

Я пытаюсь использовать CMake для кода с CodeBlocks под Windows.CMake для CodeBlocks под окнами

Внутри Cygwin консоли я:

cmake .. -G"CodeBlocks - Unix Makefiles" 

и выход:

CMake Error: CMake was unable to find a build program corresponding to "Unix Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. 
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly. 
Missing variable is: 
CMAKE_C_COMPILER_ENV_VAR 
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly. 
Missing variable is: 
CMAKE_C_COMPILER 
CMake Error: Could not find cmake module file:D:/sources/tests/testOSG/build_CodeBlocks/CMakeFiles/CMakeCCompiler.cmake 
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly. 
Missing variable is: 
CMAKE_CXX_COMPILER_ENV_VAR 
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly. 
Missing variable is: 
CMAKE_CXX_COMPILER 
CMake Error: Could not find cmake module file:D:/sources/tests/testOSG/build_CodeBlocks/CMakeFiles/CMakeCXXCompiler.cmake 
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage 
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage 
-- Configuring incomplete, errors occurred! 

Я попытался установить эти проблемные переменные, но результат тот же:

set CMAKE_MAKE_PROGRAM=C:/Progra~2/CodeBlocks/MinGW/bin/mingw32-make.exe 
set CMAKE_C_COMPILER=C:/Progra~2/Microsoft Visual Studio 10.0/VC/bin/cl.exe 
set CMAKE_CXX_COMPILER=C:/Progra~2/Microsoft Visual Studio 10.0/VC/bin/cl.exe 

Любой идеи, как заставить его работать?

Edit: добавление пути к компилятору помогает, но есть еще ошибка:

-- The C compiler identification is unknown 
-- The CXX compiler identification is unknown 
-- Defining WIN32 under Cygwin due to CMAKE_LEGACY_CYGWIN_WIN32 
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin/cl.exe 
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin/cl.exe -- broken 
CMake Error at /usr/share/cmake-2.8.9/Modules/CMakeTestCCompiler.cmake:52 (MESSAGE): 
    The C compiler "C:/Program Files (x86)/Microsoft Visual Studio 
    10.0/VC/bin/cl.exe" is not able to compile a simple test program. 

    It fails with the following output: 

    Change Dir: /cygdrive/d/sources/tests/testOSG/build_CodeBlocks/CMakeFiles/CMakeTmp 

    Run Build Command:C:/Program\ Files\ 
    (x86)/CodeBlocks/MinGW/bin/mingw32-make.exe 
    "cmTryCompileExec437970983/fast" 

    C:/Program Files (x86)/CodeBlocks/MinGW/bin/mingw32-make -f 
    CMakeFiles/cmTryCompileExec437970983.dir/build.make 
    CMakeFiles/cmTryCompileExec437970983.dir/build 

    /usr/bin/sh: -c: line 0: Erreur de syntaxe près du symbole inattendu « (
    » 

    /usr/bin/sh: -c: line 0: `C:/Program Files 
    (x86)/CodeBlocks/MinGW/bin/mingw32-make -f 
    CMakeFiles/cmTryCompileExec437970983.dir/build.make 
    CMakeFiles/cmTryCompileExec437970983.dir/build' 

    mingw32-make: *** [cmTryCompileExec437970983/fast] Error 1 

    CMake will not be able to correctly generate this project. 
Call Stack (most recent call first): 

-- Configuring incomplete, errors occurred! 

ответ

0

Убедитесь, что каталог с компиляторами (MinGW-gcc.exe или нечто подобное) находится в PATH, после чего запустите консоль еще раз и попробуйте снова запустить cmake.

+0

Спасибо, это помогает избежать первой ошибки, но появился новый (см. Оригинальное сообщение, комментарии слишком ограничены в символах, чтобы поместить его здесь) – Ote

+0

Почему вы устанавливаете свой компилятор как cl? Разве это не gcc? Или, если вы используете cl, почему вы не используете Visual Studio? – ixSci

+0

Потому что мне не нравится Visual Studio, но мне нужно использовать тот же компилятор, что и моя команда. Но начинаю удивляться, возможно ли то, что я хочу ... – Ote

2

Возможно, вы установили «базовую настройку» из «Менеджера установки MinGW». Поскольку он не устанавливает компилятор GNU C++ с именем пакета - «mingw-gcc-g ++», вы должны выбрать его «bin» и «dev» и установить вручную. Это сработало для меня.

Смежные вопросы