CMAKE_CXX_COMPILER_VERSION指向旧的GCC版本

时间:2018-09-05 08:11:42

标签: c++ gcc cmake

我使用以下方式升级了我的GCC:

$ sudo add-apt-repository ppa:ubuntu-toolchain-r/test
$ sudo apt-get update
$ sudo apt-get install gcc-8 g++-8
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 70 --slave /usr/bin/g++ g++ /usr/bin/g++-8

运行以下任何命令:

$ gcc --version
$ g++ --version
$ c++ --version
$ /usr/bin/gcc --version
$ /usr/bin/g++ --version
$ /usr/bin/c++ --version

将显示(Ubuntu 8.1.0-5ubuntu1~16.04) 8.1.0确认已安装版本8.1

./configure上运行cmake-3.12.1时,我从其网站上下载了:

-- The C compiler identification is GNU 8.1.0
-- The CXX compiler identification is GNU 8.1.0

但是,当尝试make我的实际项目时:

CMake Error at CMakeLists.txt:24 (message):
  GCC version must be at least 7.1! 5.4.0

这是我的CMakeLists.txt:

if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
    # require at least gcc 7.1
    if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.1)
        message(FATAL_ERROR "GCC version must be at least 7.1!  " ${CMAKE_CXX_COMPILER_VERSION})
    endif()
endif()

1 个答案:

答案 0 :(得分:1)

正如Shawn,Tsyvarev和hellow在评论中提到的那样,此问题是由位于debugger;内的CMake缓存文件引起的。删除文件即可解决问题。