Próbuję zbudować prosty testowy plik testowy, używając cpputest. Zbudowałem framework cpputest w bibliotece statycznej, a teraz próbuję połączyć to z plikiem wykonywalnym. Jednak jestem związany z dość skomplikowaną konfiguracją Makefile, ze względu na powiązany kod.Nieokreślone odniesienie do operatora new
To moja linia poleceń:
/usr/bin/qcc -V4.2.4,gcc_ntoarmle_acpp-ne -lang-c++ -O2 -g -g -o Application/UnitTests/Tests/symbols/UnitTestExe -Wl,--start-group Application/UnitTests/Tests/../.objs/main.o Application/UnitTests/lib/libcpputest.a -Wl,--end-group -lm
Dostaję wiele błędów jak następuje:
Application/UnitTests/lib/libcpputest.a(CommandLineTestRunner.o): In function `CommandLineTestRunner::parseArguments(TestPlugin*)':
Application/UnitTests/cpputest/src/CppUTest/.objs/../CommandLineTestRunner.cpp:114: undefined reference to `operator new(unsigned int, char const*, int)'
nie mogę dowiedzieć się, co jest przyczyną tego. Czy nie otrzymuję nowego operatora za darmo w C++?
Na podstawie tych informacji bardzo trudno jest uzyskać pomoc. Spróbuj * zmniejszyć * warunki konieczne do odtworzenia problemu. Powyższa linia poleceń jest zbyt skomplikowana, nawet jeśli założymy, że kod jest prosty i nie robi rzeczy takich jak przedefiniowanie 'operatora new'. –
Czy pierwszy błąd zgłosił nowy błąd operatora? Jeśli nie, jaki jest pierwszy zgłoszony błąd? –
Tak, zgłaszane są tylko błędy nowego operatora. Ten pokazany jest pierwszy. – mbyrne215