
Hi list. I'm trying to compile and run simple unit test, but only to fail: #include <boost/test/unit_test.hpp> using namespace std; using namespace boost::unit_test; using namespace boost; void force_division_by_zero() { BOOST_CHECKPOINT("About to force division by zero!"); int i = 1, j = 0; i = i / j; } test_suite* init_unit_test_suite(int, char*) { test_suite* test = BOOST_TEST_SUITE("Unit test example2"); test->add(BOOST_TEST_CASE(&force_division_by_zero), 1); return test; } This does not compile though this is the program shown in the document. The errors are: /usr/lib/gcc/x86_64-redhat-linux/4.0.2/../../../../lib64/crt1.o (.text+0x20): In function `_start': : undefined reference to `main' /tmp/ccytTZBu.o(.text+0x8f): In function `force_division_by_zero()': backoff_ngram_lm_test.cpp: undefined reference to `boost::test_tools::tt_detail::check_impl(boost::test_tools:: predicate_result const&, boost::basic_wrap_stringstream<char>&, 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/ccytTZBu.o(.text+0x173): In function `init_unit_test_suite(int, char*)': backoff_ngram_lm_test.cpp: undefined reference to `boost::unit_test::test_suite::test_suite(boost::unit_test:: basic_cstring<char const>)' /tmp/ccytTZBu.o(.text+0x1e8):backoff_ngram_lm_test.cpp: undefined reference to `boost::unit_test::test_suite::add(boost::unit_test::test_unit*, unsigned long, unsigned int)' /tmp/ccytTZBu.o(.gnu.linkonce.t._ZN5boost9unit_test14make_test_case ERKNS0_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>)]+0x35): 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>)': backoff_ngram_lm_test.cpp: undefined reference to `boost::unit_test::ut_detail::normalize_test_case_name(boost:: unit_test::basic_cstring<char const>)' /tmp/ccytTZBu.o(.gnu.linkonce.t._ZN5boost9unit_test14make_test_ caseERKNS0_9callback0INS0_9ut_detail6unusedEEENS0_13basic_cstring IKcEE[boost::unit_test::make_test_case(boost::unit_test::callback0 <boost::unit_test::ut_detail::unused> const&, boost::unit_test::basic_cstring<char const>)]+0x65):backoff_ngram_lm_test.cpp: 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 I'm compiling the sorce like g++ filename.cpp. My environments: $ g++ -v Using built-in specs. Target: x86_64-redhat-linux Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --enable-languages=c,c++,objc,java,f95,ada --enable-java-awt=gtk --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --host=x86_64- redhat-linux Thread model: posix gcc version 4.0.2 20051125 (Red Hat 4.0.2-8) Any idea? Sincerely, Minkoo Seo