Моя проблема проста: если я проверить версию GCC, я получаю 4.5.1
, но CMake найти GCC 4.5.0
:CMake найти неправильную версию GCC
> /usr/bin/gcc --version
gcc (SUSE Linux) 4.5.1 20101208 [gcc-4_5-branch revision 167585]
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> mkdir BUILD & cd BUILD
> cmake ..
-- The C compiler identification is GNU 4.5.0
-- The CXX compiler identification is GNU 4.5.0
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- The Fortran compiler identification is GNU
-- Check for working Fortran compiler: /usr/bin/gfortran
-- Check for working Fortran compiler: /usr/bin/gfortran -- works
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Checking whether /usr/bin/gfortran supports Fortran 90
-- Checking whether /usr/bin/gfortran supports Fortran 90 -- yes
Кто не прав? CMake или Gcc?
Я использую cmake 2.8.9, но у меня также есть ошибка с cmake 3.1.0.
У меня нет ошибки с gcc 4.7.2, 4.4.7 и 4.1.2.
У вас есть [ 'toolchain.cmake'] (http://www.cmake.org/cmake/help/v3.0/ manual/cmake-toolchains.7.html) в вашем проекте CMake? –
Нет, я не делаю кросс-компиляцию. CMake автоматически определяет инструментальную цепочку. – Caduchon
Не обязательно кросс-компиляция, но звучало, что у вас есть параллельные связки GCC, установленные в вашей среде. –