Я пытаюсь использовать boost.test
в удаленной системе с бустом 1.33.1. На моем компьютере работает маленький пример из http://www.boost.org/doc/libs/1_42_0/libs/test/doc/html/tutorials/hello-the-testing-world.html:
#define BOOST_TEST_MODULE MyTest
#include <boost/test/included/unit_test.hpp> // I've changed here
int add( int i, int j ) { return i+j; }
BOOST_AUTO_TEST_CASE( my_test ) // <--- line 7
{
// seven ways to detect and report the same error:
BOOST_CHECK( add( 2,2 ) == 4 ); // #1 continues on error
BOOST_REQUIRE( add( 2,2 ) == 4 ); // #2 throws on error
if( add( 2,2 ) != 4 )
BOOST_ERROR( "Ouch..." ); // #3 continues on error
if( add( 2,2 ) != 4 )
BOOST_FAIL( "Ouch..." ); // #4 throws on error
if( add( 2,2 ) != 4 ) throw "Ouch..."; // #5 throws on error
BOOST_CHECK_MESSAGE( add( 2,2 ) == 4, // #6 continues on error
"add(..) result: " << add( 2,2 ) );
BOOST_CHECK_EQUAL( add( 2,2 ), 4 ); // #7 continues on error
}
но в удаленной системе файл unit_test.hpp
не существует. На моем компьютере файл unit_test_framework.hpp
просто:
// deprecated
#include <boost/test/included/unit_test.hpp>
и он присутствует в основной системе. Поэтому я попытался изменить включение на:
#include <boost/test/included/unit_test_framework.hpp>
но компилятор говорит:
main.cpp:7: error: expected constructor, destructor, or type conversion before ‘(’ token
что это? Как это решить?