안녕하세요. 동상이몽입니다.

현재 Suse Linux 10 환경에서 Boost Test Framework를 이용하여 유닛 테스트를 해보려고합니다.
그래서 Boost Test Framework를 빌드해서 라이브러리 생성까지 완료했습니다만...

아무리 해도 테스트 샘플이 빌드가 되지 않습니다.

LD_LIBRARY_PATH와 PATH에 해당하는 Boost Test Library경로도 잘 참조 시켰습니다만... 빌드할때 직접 라이브러리를 참조시켜도 안되고....
혹시나 경험이 있으신분 조언 부탁드립니다.

빌드를 하면 아래와 같은 에러가 발생합니다.

/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib64/crt1.o: In function `_start':
/usr/src/packages/BUILD/glibc-2.9/csu/../sysdeps/x86_64/elf/start.S:109: undefined reference to `main'
/tmp/ccZByNBH.o: In function `__static_initialization_and_destruction_0(int, int)':
test.cpp:(.text+0x81): undefined reference to `boost::unit_test::ut_detail::auto_test_unit_registrar::auto_test_unit_registrar(boost::unit_test::test_case*, unsigned long)'
/tmp/ccZByNBH.o: In function `MyTest::test_method()':
test.cpp:(.text+0x145): undefined reference to `boost::unit_test::unit_test_log_t::set_checkpoint(boost::unit_test::basic_cstring<char const>, unsigned long, boost::unit_test::basic_cstring<char const>)'
test.cpp:(.text+0x1c4): undefined reference to `boost::test_tools::tt_detail::check_impl(boost::test_tools::predicate_result const&, boost::unit_test::lazy_ostream const&, boost::unit_test::basic_cstring<char const>, unsigned long, boost::test_tools::tt_detail::tool_level, boost::test_tools::tt_detail::check_type, unsigned long, ...)'
/tmp/ccZByNBH.o: In function `init_unit_test_suite(int, char**)':
test.cpp:(.text+0x2e1): undefined reference to `boost::unit_test::framework::master_test_suite()'
/tmp/ccZByNBH.o: In function `boost::unit_test::unit_test_log_t::unit_test_log_t()':
test.cpp:(.text._ZN5boost9unit_test15unit_test_log_tC1Ev[boost::unit_test::unit_test_log_t::unit_test_log_t()]+0x25): undefined reference to `vtable for boost::unit_test::unit_test_log_t'
/tmp/ccZByNBH.o: In function `boost::unit_test::unit_test_log_t::~unit_test_log_t()':
test.cpp:(.text._ZN5boost9unit_test15unit_test_log_tD1Ev[boost::unit_test::unit_test_log_t::~unit_test_log_t()]+0x13): undefined reference to `vtable for boost::unit_test::unit_test_log_t'
/tmp/ccZByNBH.o: In function `boost::unit_test::make_test_case(boost::unit_test::callback0<boost::unit_test::ut_detail::unused> const&, boost::unit_test::basic_cstring<char const>)':
test.cpp:(.text._ZN5boost9unit_test14make_test_caseERKNS0_9callback0INS0_9ut_detail6unusedEEENS0_13basic_cstringIKcEE[boost::unit_test::make_test_case(boost::unit_test::callback0<boost::unit_test::ut_detail::unused> const&, boost::unit_test::basic_cstring<char const>)]+0x24): undefined reference to `boost::unit_test::ut_detail::normalize_test_case_name(boost::unit_test::basic_cstring<char const>)'
test.cpp:(.text._ZN5boost9unit_test14make_test_caseERKNS0_9callback0INS0_9ut_detail6unusedEEENS0_13basic_cstringIKcEE[boost::unit_test::make_test_case(boost::unit_test::callback0<boost::unit_test::ut_detail::unused> const&, boost::unit_test::basic_cstring<char const>)]+0x54): undefined reference to `boost::unit_test::test_case::test_case(boost::unit_test::basic_cstring<char const>, boost::unit_test::callback0<boost::unit_test::ut_detail::unused> const&)'
collect2: ld returned 1 exit status
---------------------------------------------
main 함수를 참조할 수 없다는 에러도 보입니다만, 제가 알기로 애초에 main함수는 Boost Test Library안에 있지 않나요?

아래는 테스트용 샘플 코드입니다.


#define BOOST_TEST_MODULE MyTest
#include <boost/test/unit_test.hpp>

BOOST_AUTO_TEST_CASE(MyTest)
{
        BOOST_CHECK(3 == 4);
}
----------------------------------
그럼 잘 부탁드립니다.