2016-08-23 3 views

答えて

1

グローバルに渡す簡単な方法はありません。正当な理由から、いくつかのパッケージはC++ 11ではビルドできません。新しい予約語を使用するためです。

あなたが本当にそれを危険にさらすしたい場合は、しかし、あなたは3つのオプションがあります。

  • は(ツールチェインメニューで)BR2_TARGET_OPTIMIZATION-std=c++11を追加します。これはツールチェーンのラッパーに含まれるため、各コンパイルに使用されます。 Cプログラムでは、 "コマンドラインオプション '-std = C++ 11'はC++/ObjC++では有効ですが、Cでは警告ではありません。そのため、-Werrorになるパッケージは破損します。

  • パッケージ/ Makefile.inを変更し、-std=c++11TARGET_CXXFLAGSに追加してください。この場合、それはC++コンパイルにのみ渡されます。しかし、TARGET_CXXFLAGSは、パッケージビルドシステムに渡されたばかりであり、すべてのビルドシステムがそれを尊重するわけではありません。

  • toolchain/toolchain-wrapper.cを変更して、g ++が呼び出されたときにこのオプションを追加します。これには他の2つの欠点はありませんが、より多くの実装が必要です。

関連する問題