我有一个与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库是静态的。然后我发现:
发布于 2014-02-12 09:19:12
确保定义了BOOST_TEST_DYN_LINK:
如果选择将测试模块与预先构建的动态库链接起来,这种用法称为UTF的动态库变体。此变体要求您在makefile中或在标头boost/test/unit_test.hpp包含.UTF的动态库变体之前定义标志boost/test/unit_test.hpp。
#define BOOST_TEST_DYN_LINK
#include <boost/test/unit_test.hpp>https://stackoverflow.com/questions/21707259
复制相似问题