init_unit_test_suite再定義エラー:私はブースト::テストチュートリアルの例コンパイルしようとしています
#include <boost/test/included/unit_test.hpp>
using namespace boost::unit_test;
void test_case1() { /* : */ }
test_suite*
init_unit_test_suite(int argc, char* argv[])
{
test_suite* ts1 = BOOST_TEST_SUITE("test_suite1");
ts1->add(BOOST_TEST_CASE(&test_case1));
framework::master_test_suite().add(ts1);
return 0;
}
をしかし、私は次のエラーが出ます:
..\src\test.cpp: In function 'boost::unit_test::test_suite* init_unit_test_suite(int, char**)': ..\src\test.cpp:23:1: error: redefinition of 'boost::unit_test::test_suite*
init_unit_test_suite(int, char**)' C:\Boost/boost/test/unit_test_suite.hpp:223:1: error: 'boost::unit_test::test_suite* init_unit_test_suite(int, char**)' previously defined here
どのようにこの問題を解決するには?
興味深いが、私は、GCC 4.6.2を使用しての例をコンパイルしたのだが、まったくエラーを与えませんでした。 私は同様のエラーメッセージを覚えています。私は#define BOOST_TEST_MAINマクロを使用していましたが、それを取り除くだけで十分でしたが、あなたのケースではないようです。 – dianull