0

Visual Studio 2012 に November CTP をインストールした後、エラーが発生しました。エラーはunordered_set.hppブースト ライブラリにあります。しかし、私はコードにunordered_setまたはどこにも含めていません。initializer_list私は 1 つのファイルでのみブーストを使用しましたが、それが理由ではないと確信しています。

unordered_set.hpp のエラー:

#if !defined(BOOST_NO_0X_HDR_INITIALIZER_LIST)
#include <initializer_list>  //error C1083: Cannot open include file: 'initializer_list': No such file or directory d:\boost\unordered\unordered_set.hpp
#endif

編集:

その後、11 月の CTP をアンインストールしましたが、それでも同じエラーが発生します。

4

2 に答える 2

1

C++11VS2012 ではデフォルトで有効になっています。boostヘッダーから

#if !defined(BOOST_NO_0X_HDR_INITIALIZER_LIST)
#include <initializer_list>
#endif

を定義しようとするか、ヘッダーの場所BOOST_NO_0X_HDR_INITIALIZER_LISTを見つけることができます。initializer_list

// config/suffix.hpp
#if defined(BOOST_NO_INITIALIZER_LISTS) && !defined(BOOST_NO_0X_HDR_INITIALIZER_LIST)
#  define BOOST_NO_0X_HDR_INITIALIZER_LIST
#endif

// config/compilers/visualc.hpp
#if _MSC_VER <= 1500  || !defined(BOOST_STRICT_CONFIG) // 1500 == VC++ 9.0
#  define BOOST_NO_INITIALIZER_LISTS
#endif

BOOST_STRICT_CONFIGでコメントすることができますconfig/user.hpp

ただし、VS2012 を使用しているため、最新の Visual C++ ヘッダーがないように見えます (initializer_listヘッダーは実際には VS2010 に追加されます)。

于 2013-06-25T09:09:55.377 に答える
0

今日も同じ問題がありました。November CTP をインストールするだけでは不十分であることがわかりましたMicrosoft Visual C++ Compiler Nov 2012 CTP (v120_CTP_Nov2012)。実際に新しい機能を使用するには、プロジェクト構成でプラットフォーム ツールセットを変更する必要があります。これが誰かの役に立てば幸いです。

于 2013-09-24T13:20:44.867 に答える