Учитывая, что подпись для функции:
CppUnit::TestSuite * MyFixture::CreateSuite()
разве вы не должны быть возвращая что-то (suite
будет моим первым предположением)?
Не возвращая ничего, строка:
runner.addTest(MyFixture::CreateSuite());
собирается добавить очень хитрый указатель на ваш runner
.
И причинувы, вероятно, получаете эти ошибки, когда вставляете -Wall
, потому что:
g++ -g -o -Wall test_runner test_runner.cpp -lcppunit
\______/ \___________________________________/
попытается вывести ваш исполняемый файл в файл -Wall
, связав вместе test_runner
, test_runner.cpp
и cppunit
библиотека.Возможно, вы хотели набрать:
g++ -g -Wall -o test_runner test_runner.cpp -lcppunit
\____________/ \_______________________/
(здесь я предполагаю, что указанная вами строка компиляции была той, где произошли ошибки, поскольку на самом деле содержит -Wall
).