2011-03-03 18 views
5

Estoy tratando de compilar OpenCV con Cmake en Windows 7 (64 bits). Se usará con Eclipse y CDT, por lo que leí en algún lugar que debes especificar Makefiles de Unix independientemente del compilador. Ahora, dado que también tengo cygwin (para Android NDK), primero intenté usar sus compiladores, y configuré CMake y generamos makefiles, pero solo llegamos al 63% de la compilación, cuando OpenCV escupe un error (sobre ffmpeg y HMODULE). Así que cambié a MinGW (HelloWorld con que también era un problema, tenía que especificar una ruta completa a MinGW g ++ independientemente de la configuración de la variable PATH), pero ahora ni siquiera puedo configurar CMake. Me sale el siguiente error:CMake con MinGW y Eclipse CDT

The C compiler identification is GNU 
The CXX compiler identification is GNU 
CMake Error: your RC compiler: "CMAKE_RC_COMPILER-NOTFOUND" was not found. Please set   CMAKE_RC_COMPILER to a valid compiler path or name. 
Check for working C compiler: C:/MinGW/bin/gcc.exe 
CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeRCInformation.cmake:22 (GET_FILENAME_COMPONENT): 
get_filename_component called with incorrect number of arguments 
Call Stack (most recent call first): 
C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/Platform/Windows-GNU.cmake:59 (enable_language) 
C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/Platform/Windows-GNU-C.cmake:1 (include) 
C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeCInformation.cmake:56 (INCLUDE) 
CMakeLists.txt:2 (PROJECT) 

CMake Error: CMAKE_RC_COMPILER not set, after EnableLanguage 
CMake Error: Internal CMake error, TryCompile configure of cmake failed 
Check for working C compiler: C:/MinGW/bin/gcc.exe -- broken 
CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake:52 (MESSAGE): 
The C compiler "C:/MinGW/bin/gcc.exe" is not able to compile a simple test program. 

It fails with the following output: 

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

Configuring incomplete, errors occurred! 

Si alguien tiene alguna idea de lo que podría ser un problema (? Conflicto con la cáscara de cygwin), apreciaría cualquier entrada. ¡Gracias por adelantado!

Respuesta

6

Nos encontramos con el mismo problema con el generador "Unix Makefiles". Lo solucionamos usando el generador "MSYS Makefiles" (Msys es un entorno de shell alrededor de MinGW, como [un muy pequeño] cygwin).

+0

¡Gracias, eso fue todo! Supongo que la información que encontré sobre Unix Makefiles con Eclipse CDT estaba desactualizada, además de que me engañaron las opciones disponibles de CDT y no consideré alternativas. OpenCV compilado, espero que funcione ahora dentro de Eclipse. ¡Aclamaciones! – vkotor

3

Este error mensaje de texto:

CMake Error: your RC compiler: "CMAKE_RC_COMPILER-NOTFOUND" was not found. 
    Please set CMAKE_RC_COMPILER to a valid compiler path or name. 

indica que "windres" (para MinGW y Cygwin árboles de construcción basada en GCC) no está en la ruta.

soporte de windres, para compilar archivos de recursos de Windows (* .rc) se agregó recientemente en CMake 2.8.4. ¿Quizás los rescoldos no están disponibles en su entorno MinGW?

+0

Actualmente, los windres están ahí, y su directorio, que es el mismo que el de MinGW make, está incluido en PATH. Pero tal vez el problema que señala está relacionado con el hecho de que tuve que incluir una ruta completa a MinGW al compilar HelloWorld, independientemente de la configuración PATH. De todos modos, parece que la solución de Rudi lo hizo, al menos por ahora. – vkotor

Cuestiones relacionadas