我有一个与BOOST.Test框架相关的问题,并通过以下示例说明我的问题: 我构建了一个TestClass库,其中包含所有测试类,该库可以是静态的或动态的。该库中的一个典型函数如下:
__declspec(dllexport) HelloWorld()
{
int i= 2;
int j= 1;
BOOST_CHECK(i == j);
BOOST_CHECK_EQUAL(i,j);
}
接下来,我设置了一个可执行程序(例如main.cpp),该程序将调用这个库:
test_suite* init_unit_test_suite( int argc, char* argv[] )
{
framework::master_test_suite().add( BOOST_TEST_CASE( &HelloWorld ) );
return 0;
}
对于TestClass类库和可执行程序,它们都需要BOOST.Test类库。我构建的BOOST.Test类库是静态的。然后我发现:
如果TestClass类库是静态的,那么一切都很顺利。
但是,如果TestClass类库是动态的,那么我收到了以下错误信息:
未知位置(0): "HelloWorld"中的致命错误: std::runtime_error:在初始化框架之前无法使用测试工具。 有什么想法吗?谢谢。