0

MinGW/MSYS 環境の最新バージョンをインストールしました。ここで、c++11 標準サポートを有効にしようとしています。私は自分のcmakeスクリプトに追加しました:

SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=gnu++0x")

簡単なテストを作成しようとすると。次のコンパイル エラーが発生しました。

error: 'shared_ptr' is not a member of 'std'

c++11 のサポートは設定されていないようです。コードから std::shared_ptr 宣言を削除し、クロノ ライブラリのコードをコンパイルしようとすると、動作します。これは私を混乱させます。一部の c++11 ライブラリがサポートされているのに、shared_ptr などのコア要素が失敗するのはなぜですか?

スマート ポインターを有効にするために何か特別なことをする必要がありますか?

4

1 に答える 1

2

-std=c++0xg++ 拡張機能を有効にしないように(また) 使用できます/使用する必要があります。

を必ず行ってください#include <memory>

于 2013-02-07T19:57:58.587 に答える