web-dev-qa-db-ja.com

15.10に更新した後、私のスコーププロジェクトはunity-scope-tool用にビルドできません。 「エラー:g ++バージョンは4.9でなければなりません!」

最近、Ubuntu15.10にアップグレードしました。私はスコープを作成してきましたが、アップグレード後にスコーププロジェクトの多くがビルドを停止しました。

私の作業プロセスは、最初にunity-scope-toolでスコープを実行することで構成されています。

UbuntuSDKのエラーは次のとおりです。

_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)です。

2
Mateo

これを解決するには、CMakeLists.txtの8-14行目のコードを次のように変更する必要があります。

# 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 ++​​を許可し、プロジェクトを保存して再構築します。これで、そのエラーを回避できるはずです。

2
Mateo