私はしばらくの間取り組んできたプロジェクトを持っていますが、常にデバッグ中です。今日、リリースをビルドしようとしましたが、非常に奇妙なエラーをスローしてコンパイルに失敗しました。デバッグは警告なしでコンパイルされますが、リリースは次をスローします。
/usr/include/c++/4.7/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
両方の CMake ビルドで c++11 が有効になっています。
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -std=gnu++11 -Wall -g")
set(CMAKE_CSS_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -std=gnu++11 -Wall")
Release でコンパイル エラーの原因を追跡するにはどうすればよいですか?
編集私はCmake 2.8を使用しており、gcc-4.6.3および4.7.2でコンパイルしようとしましたが、どちらも同じ問題を抱えています。
EDIT#2 c++11 の代わりに -std=c++0x を使用すると問題が解決しません。
EDIT#3 g ++ 4.6へのダウングレードはあまり役に立ちませんでした。エラーは単純に次のように変更されました。
/usr/include/c++/4.6/bits/c++0x_warning.h:32:2:etc...
EDIT#4<thread>
最初に問題を引き起こしたものを削除しました。それからそれはでし<mutex>
た<atomic>
。これは、 を使用する任意のコードですstd::shared_ptr<Blah>
。Release が C++11 でコンパイルすることをまったく望んでいないように思えます。これはわざとですか?