boost unit test compilation problem

Hi list.
I'm trying to compile and run simple unit test, but only to fail:
#include

"Minkoo Seo"
Hi list.
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*)':
You need to link with the pre-built standalone library. Use either Jam with Boost.Build system to build the library or you could use your own make system. But in that case you will need to come up with makefile yourself. The framework doesn't need much special compilation flags. Consult docs and Jam for more details. Gennadiy

# gennadiy.rozental@thomson.com / 2006-08-01 10:44:48 -0400:
"Minkoo Seo"
wrote in message news:loom.20060801T091530-365@post.gmane.org... Hi list.
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*)':
You need to link with the pre-built standalone library. Use either Jam with Boost.Build system to build the library or you could use your own make system. But in that case you will need to come up with makefile yourself. The framework doesn't need much special compilation flags. Consult docs and Jam for more details.
Yeah, the docs are quite explicit about the need to link with the libs. Your Makefile could be as simple as: CXXFLAGS= -I/usr/local/include LDFLAGS= -L/usr/local/lib -lboost_filesystem -lboost_program_options fubar: fubar.cpp $(CXX) $(CXXFLAGS) $(LDFLAGS) -o fubar fubar.cpp -- How many Vietnam vets does it take to screw in a light bulb? You don't know, man. You don't KNOW. Cause you weren't THERE. http://bash.org/?255991

"Roman Neuhauser"
# gennadiy.rozental@thomson.com / 2006-08-01 10:44:48 -0400:
"Minkoo Seo"
wrote in message news:loom.20060801T091530-365@post.gmane.org... Hi list.
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*)':
You need to link with the pre-built standalone library. Use either Jam with Boost.Build system to build the library or you could use your own make system. But in that case you will need to come up with makefile yourself. The framework doesn't need much special compilation flags. Consult docs and Jam for more details.
Yeah, the docs are quite explicit about the need to link with the libs. Your Makefile could be as simple as:
CXXFLAGS= -I/usr/local/include LDFLAGS= -L/usr/local/lib -lboost_filesystem -lboost_program_options
These does not look right . I don;t think you need program options or filesystem to build a unbit test framework *library* ;) Gennadiy

The unit test library uses program-options and filesystem...
Therefore you do.
On 8/1/06, Gennadiy Rozental
"Roman Neuhauser"
wrote in message news:20060801165504.GB8222@dagan.sigpipe.cz... # gennadiy.rozental@thomson.com / 2006-08-01 10:44:48 -0400:
"Minkoo Seo"
wrote in message news:loom.20060801T091530-365@post.gmane.org... Hi list.
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*)':
You need to link with the pre-built standalone library. Use either Jam with Boost.Build system to build the library or you could use your own make system. But in that case you will need to come up with makefile yourself. The framework doesn't need much special compilation flags. Consult docs and Jam for more details.
Yeah, the docs are quite explicit about the need to link with the libs. Your Makefile could be as simple as:
CXXFLAGS= -I/usr/local/include LDFLAGS= -L/usr/local/lib -lboost_filesystem -lboost_program_options
These does not look right . I don;t think you need program options or filesystem to build a unbit test framework *library* ;)
Gennadiy
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
-- Bobby Ward ------------------------------ bobbyrward@gmail.com http://sf.net/projects/combustion

# gennadiy.rozental@thomson.com / 2006-08-01 12:08:12 -0400:
"Roman Neuhauser"
wrote in message news:20060801165504.GB8222@dagan.sigpipe.cz... # gennadiy.rozental@thomson.com / 2006-08-01 10:44:48 -0400:
"Minkoo Seo"
wrote in message news:loom.20060801T091530-365@post.gmane.org...
[linking errors]
Yeah, the docs are quite explicit about the need to link with the libs. Your Makefile could be as simple as:
CXXFLAGS= -I/usr/local/include LDFLAGS= -L/usr/local/lib -lboost_filesystem -lboost_program_options
These does not look right . I don;t think you need program options or filesystem to build a unbit test framework *library* ;)
Sorry, that's a leftover from copy&paste. B.PO is /not/ required to compile/link a test suite. -- How many Vietnam vets does it take to screw in a light bulb? You don't know, man. You don't KNOW. Cause you weren't THERE. http://bash.org/?255991
participants (4)
-
Bobby Ward
-
Gennadiy Rozental
-
Minkoo Seo
-
Roman Neuhauser