2011/5/15 Eduardo Sánchez Muñoz <[email protected]>: > I get the following error when I use a toolchain file to cross-compile with > mingw32: > $ cmake -DCMAKE_TOOLCHAIN_FILE=~/Documentos/mingw32.cmake > -DCMAKE_INSTALL_PREFIX=/usr/i486-mingw32 . > -- 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: /usr/bin/i486-mingw32-gcc > CMake Error at /usr/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): > /usr/share/cmake-2.8/Modules/Platform/Windows-GNU.cmake:59 > (enable_language) > /usr/share/cmake-2.8/Modules/Platform/Windows-GNU-C.cmake:1 (include) > /usr/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: /usr/bin/i486-mingw32-gcc -- broken > CMake Error at /usr/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake:52 > (MESSAGE): > The C compiler "/usr/bin/i486-mingw32-gcc" 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:3 (PROJECT) > > > -- Configuring incomplete, errors occurred! > > My toolchain file is: > set(CMAKE_SYSTEM_NAME Windows) > set(CMAKE_C_COMPILER i486-mingw32-gcc) > set(CMAKE_CXX_COMPILER i486-mingw32-g++)
you lack the definition of CMAKE_RC_COMPILER which for your case should be something like: SET(CMAKE_RC_COMPILER i486-mingw32-windres) The attached toolchain file may be easier to tailor to you need on several host, just comment/set the appropriate value for "COMPILER_PREFIX" and USER_ROOT_PATH. -- Erk Membre de l'April - « promouvoir et défendre le logiciel libre » - http://www.april.org
# the name of the target operating system SET(CMAKE_SYSTEM_NAME Windows) # Choose an appropriate compiler prefix # for classical mingw32 # see http://www.mingw.org/ #set(COMPILER_PREFIX "i586-mingw32msvc") # for 32 or 64 bits mingw-w64 # see http://mingw-w64.sourceforge.net/ set(COMPILER_PREFIX "i686-w64-mingw32") #set(COMPILER_PREFIX "x86_64-w64-mingw32" # which compilers to use for C and C++ find_program(CMAKE_RC_COMPILER NAMES ${COMPILER_PREFIX}-windres) #SET(CMAKE_RC_COMPILER ${COMPILER_PREFIX}-windres) find_program(CMAKE_C_COMPILER NAMES ${COMPILER_PREFIX}-gcc) #SET(CMAKE_C_COMPILER ${COMPILER_PREFIX}-gcc) find_program(CMAKE_CXX_COMPILER NAMES ${COMPILER_PREFIX}-g++) #SET(CMAKE_CXX_COMPILER ${COMPILER_PREFIX}-g++) # here is the target environment located SET(USER_ROOT_PATH /home/erk/erk-win32-dev) SET(CMAKE_FIND_ROOT_PATH /usr/${COMPILER_PREFIX} ${USER_ROOT_PATH}) # adjust the default behaviour of the FIND_XXX() commands: # search headers and libraries in the target environment, search # programs in the host environment set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
-- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
