undefined reference to `main'
Jeg prøver at bygge en unit test application på Ubuntu 9.04. Følgende indholdet af filen unit_test_text_file_reader.cpp:
#define BOOST_AUTO_TEST_MAIN
#include < boost/test/auto_unit_test.hpp >
// Boost Test declaration and Checking macros
#include < boost/test/unit_test_suite.hpp >
#include < boost/test/test_tools.hpp >
#include < boost/test/floating_point_comparison.hpp >
BOOST_AUTO_TEST_SUITE(text_file_reader);
BOOST_AUTO_TEST_SUITE();
BOOST_AUTO_TEST_CASE(text_file_reader)
{
BOOST_CHECK_EQUAL(2,2);
}
BOOST_AUTO_TEST_SUITE_END();
BOOST_AUTO_TEST_CASE(my_always_fail_test_case)
{
BOOST_CHECK(false);
}
BOOST_AUTO_TEST_SUITE_END();
Men når jeg kører make får jeg:
Scanning dependencies of target unit_test_text_file_reader
[100%] Building CXX object revised/text_file_reader/CMakeFiles/unit_test_text_file_reader.dir/src/unit_test_text_file_reader.cpp.o
Linking CXX executable unit_test_text_file_reader
/usr/lib/gcc/x86_64-linux-gnu/4.3.3/../../../../lib/crt1.o: In function `_start':
/build/buildd/glibc-2.9/csu/../sysdeps/x86_64/elf/start.S:109: undefined reference to `main'
CMakeFiles/unit_test_text_file_reader.dir/src/unit_test_text_file_reader.cpp.o: In function `global constructors keyed to _Z20init_unit_test_suiteiPPc':
Går udfra at det særligt er disse to liner:
/usr/lib/gcc/x86_64-linux-gnu/4.3.3/../../../../lib/crt1.o: In function `_start':
/build/buildd/glibc-2.9/csu/../sysdeps/x86_64/elf/start.S:109: undefined reference to `main'
som er relevate. Jeg har bygget masser af disse test på windows vista 64 uden at angive en main funktion men af en eller anden grund så piver Ubuntu over at den mangler en main funktion sådan som jeg forstår fejlen.
Nogen forslag??
#define BOOST_AUTO_TEST_MAIN
#include < boost/test/auto_unit_test.hpp >
// Boost Test declaration and Checking macros
#include < boost/test/unit_test_suite.hpp >
#include < boost/test/test_tools.hpp >
#include < boost/test/floating_point_comparison.hpp >
BOOST_AUTO_TEST_SUITE(text_file_reader);
BOOST_AUTO_TEST_SUITE();
BOOST_AUTO_TEST_CASE(text_file_reader)
{
BOOST_CHECK_EQUAL(2,2);
}
BOOST_AUTO_TEST_SUITE_END();
BOOST_AUTO_TEST_CASE(my_always_fail_test_case)
{
BOOST_CHECK(false);
}
BOOST_AUTO_TEST_SUITE_END();
Men når jeg kører make får jeg:
Scanning dependencies of target unit_test_text_file_reader
[100%] Building CXX object revised/text_file_reader/CMakeFiles/unit_test_text_file_reader.dir/src/unit_test_text_file_reader.cpp.o
Linking CXX executable unit_test_text_file_reader
/usr/lib/gcc/x86_64-linux-gnu/4.3.3/../../../../lib/crt1.o: In function `_start':
/build/buildd/glibc-2.9/csu/../sysdeps/x86_64/elf/start.S:109: undefined reference to `main'
CMakeFiles/unit_test_text_file_reader.dir/src/unit_test_text_file_reader.cpp.o: In function `global constructors keyed to _Z20init_unit_test_suiteiPPc':
Går udfra at det særligt er disse to liner:
/usr/lib/gcc/x86_64-linux-gnu/4.3.3/../../../../lib/crt1.o: In function `_start':
/build/buildd/glibc-2.9/csu/../sysdeps/x86_64/elf/start.S:109: undefined reference to `main'
som er relevate. Jeg har bygget masser af disse test på windows vista 64 uden at angive en main funktion men af en eller anden grund så piver Ubuntu over at den mangler en main funktion sådan som jeg forstår fejlen.
Nogen forslag??
Kommentarer