C++ Boost.Test-覆盖主节点时未定义符号
我想在使用Boost.Test时提供自己的主要功能。因此,我包含了以下宏:C++ Boost.Test-覆盖主节点时未定义符号,c++,boost,boost-test,C++,Boost,Boost Test,我想在使用Boost.Test时提供自己的主要功能。因此,我包含了以下宏: #define BOOST_TEST_ALTERNATIVE_INIT_API #define BOOST_TEST_NO_MAIN 我的主要功能如下所示: int main(int argc, char* argv[]) { int exitCode = ::boost::unit_test::unit_test_main(&initialise, argc, argv); return e
#define BOOST_TEST_ALTERNATIVE_INIT_API
#define BOOST_TEST_NO_MAIN
我的主要功能如下所示:
int main(int argc, char* argv[])
{
int exitCode = ::boost::unit_test::unit_test_main(&initialise, argc, argv);
return exitCode;
}
我还创建了函数初始化
使用Xcode 6在OS X上构建时,会报告以下错误:
Undefined symbols for architecture x86_64:
"boost::unit_test::unit_test_main(bool (*)(), int, char**)", referenced from:
_main in main.o
我正在单元测试框架库中链接
有人能帮忙解决这个错误吗?有两种可能的解决方案: 1) 在测试模块中包括
。这可以同时构建测试框架和测试模块
2) 使用BOOST\u test\u NO\u MAIN
和BOOST\u test\u ALTERNATIVE\u INIT\u API
重建测试框架库
根据第二种方案,首选第二种方案