Boost Test framework - Compilierungsfehler
-
Hallo wollte mich mal bissl mit dem Test framework von Boost beschaftigen und
hab das auf meinem Ubuntu einfach installiert.Nach dem ich ein Art Hello World test programm gechrieben hab
#define BOOST_TEST_DYN_LINK #define BOOST_TEST_MODULE Hello #include <boost/test/unit_test.hpp> int add(int i, int j) { return i + j; } BOOST_AUTO_TEST_CASE(universeInOrder) { BOOST_CHECK(add(2, 2) == 4); }
kam beim kompilieren
g++ -ohello -lboost_unit_test_framework hello.cpp
folgende Fehlermeldung
/tmp/cc0ASb8E.o: In function `init_unit_test()': hello.cpp:(.text+0x4b): undefined reference to `boost::unit_test::framework::master_test_suite()' /tmp/cc0ASb8E.o: In function `main': hello.cpp:(.text+0x94): undefined reference to `boost::unit_test::unit_test_main(bool (*)(), int, char**)' /tmp/cc0ASb8E.o: In function `universeInOrder::test_method()': hello.cpp:(.text+0x11f): 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>)' hello.cpp:(.text+0x1cb): 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/cc0ASb8E.o: In function `__static_initialization_and_destruction_0(int, int)': hello.cpp:(.text+0x2dd): undefined reference to `boost::unit_test::ut_detail::auto_test_unit_registrar::auto_test_unit_registrar(boost::unit_test::test_case*, unsigned long)' /tmp/cc0ASb8E.o: In function `boost::unit_test::unit_test_log_t::unit_test_log_t()': hello.cpp:(.text._ZN5boost9unit_test15unit_test_log_tC2Ev[_ZN5boost9unit_test15unit_test_log_tC5Ev]+0x2b): undefined reference to `vtable for boost::unit_test::unit_test_log_t' /tmp/cc0ASb8E.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>)': hello.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>)]+0x30): undefined reference to `boost::unit_test::ut_detail::normalize_test_case_name(boost::unit_test::basic_cstring<char const>)' hello.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>)]+0x6a): 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&)' /tmp/cc0ASb8E.o: In function `boost::unit_test::unit_test_log_t::~unit_test_log_t()': hello.cpp:(.text._ZN5boost9unit_test15unit_test_log_tD2Ev[_ZN5boost9unit_test15unit_test_log_tD5Ev]+0x13): undefined reference to `vtable for boost::unit_test::unit_test_log_t' collect2: ld gab 1 als Ende-Status zurück
habt Ihr ne Idee woran das liegt und was ich anders machen sollte
Vielen Dank im Vorraus
-
Jetzt haust du gleich mit dem Kopf auf die Tischplatte
: Mach mal das -lboost_unit_test_framework hinter das hello.cpp. Die Reihenfolge der Parameter beim Linken hat eine Bedeutung.
-
ja das ist wahr !
also der kopf lag auf der Tischplattedanke dir