![更新到 15.10 后,我的范围项目无法为 unity-scope-tool 构建。“错误:g++ 版本必须是 4.9!”](https://linux22.com/image/1130379/%E6%9B%B4%E6%96%B0%E5%88%B0%2015.10%20%E5%90%8E%EF%BC%8C%E6%88%91%E7%9A%84%E8%8C%83%E5%9B%B4%E9%A1%B9%E7%9B%AE%E6%97%A0%E6%B3%95%E4%B8%BA%20unity-scope-tool%20%E6%9E%84%E5%BB%BA%E3%80%82%E2%80%9C%E9%94%99%E8%AF%AF%EF%BC%9Ag%2B%2B%20%E7%89%88%E6%9C%AC%E5%BF%85%E9%A1%BB%E6%98%AF%204.9%EF%BC%81%E2%80%9D.png)
我最近升级到了 Ubuntu 15.10。我一直在制作示波器,升级后我的许多示波器项目都停止了构建。
我的工作流程包括首先在 unity-scope-tool 中运行范围。
Ubuntu SDK 中的错误显示:
CMakeLists.txt:12: error: g++ version must be 4.9!
:-1: error: [cmake_check_build_system] Error 1
CMakeLists.txt 中的第 8-14 行内容如下:
# We require g++ 4.9, to avoid ABI breakage with earlier version.
set(cxx_version_required 4.9)
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
if (NOT CMAKE_CXX_COMPILER_VERSION MATCHES "^${cxx_version_required}")
message(FATAL_ERROR "g++ version must be ${cxx_version_required}!")
endif()
endif()
列出的 g++ 版本是gcc version 5.2.1 20151010 (Ubuntu 5.2.1-22ubuntu2)
答案1
为了解决这个问题,你需要将第 8-14 行的代码更改CMakeLists.txt
为:
# We require at least g++ 4.9, to avoid ABI breakage with earlier versions.
set(cxx_version_required 4.9)
if (CMAKE_COMPILER_IS_GNUCXX)
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS ${cxx_version_required})
message(FATAL_ERROR "g++ version must be at least ${cxx_version_required}!")
endif()
endif()
这是新项目的 CMakeLists.txt 中的内容,它将允许高于 4.9 的 g++ 版本,保存并重建项目,现在应该可以解决该错误。