2016-06-28 16 views
3

に私は1.58C++ BOOST_TEST範囲

ブーストが正しくインストールされて表示され、次のコードは、(第3チェックでエラーを与えて)コンパイルし、正しく動作ブーストバージョンを使用していない:

#define BOOST_TEST_MODULE basics_test 

#include <boost/test/included/unit_test.hpp> 

BOOST_AUTO_TEST_CASE(basics_test) { 
    BOOST_CHECK(1 == 1); 
    BOOST_CHECK(1 + 2 < 4); 
    BOOST_CHECK(1 == 2); 
} 
私はサイト http://www.boost.org/doc/libs/1_59_0/libs/test/doc/html/boost_test/testing_tools/boost_test_universal_macro.htmlから2番目の例を実行しようとすると、

はしかし、私はエラーを取得する:

test.cpp: In member function ‘void test_op_reportings::test_method()’: 
test.cpp:20:20: error: ‘BOOST_TEST’ was not declared in this scope 
    BOOST_TEST(a == b); 

私はBOOST_CHECK、コードCOMにBOOST_TESTの各インスタンスを変更した場合パイルと正常に実行されます。私はg ++を使用しています。 g++ -std=c++11 test cpp -o mainのようにg ++にC++ 11を使用するように設定した場合、同じエラーが発生します。

これを修正するにはどうすればよいですか?

答えて

3

あなたが見ているドキュメントは、ブースト1.59用ですが、ブースト1.58を使用しています。 BOOST_TESTは1.58に存在すると思いますか?

1.58のドキュメントから、BOOST_TEST_MESSAGEと他の代替手段のサポートのみが表示されます。

ドキュメントにBOOST_TESTが表示されているところでBoostを少なくとも1.59にアップグレードするか、既に行ったことなど、1.58で利用可能な機能を使用してください。

+0

ありがとう、私はドキュメントのバージョンを見逃しました。 – Checkmate