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

Reply via email to