我试图在带有boost 1.33.1的远程系统上使用boost.test
。在我的电脑从http://www.boost.org/doc/libs/1_42_0/libs/test/doc/html/tutorials/hello-the-testing-world.html这个小例子工程:boost.test与旧版本的问题
#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
这是什么?如何解决它?
您更改了哪个系统包括? – 2010-12-06 18:03:58
您能否告诉我们您的远程系统上安装了哪种版本的boost? – jopasserat 2010-12-06 18:11:46