Sto provando a creare un semplice eseguibile del test dell'unità, utilizzando cpputest. Ho creato il framework cpputest in una libreria statica e sto cercando di collegarlo a un eseguibile. Tuttavia, sono legato a una configurazione Makefile abbastanza complicata, a causa del relativo codice.Riferimento non definito all'operatore new
Questa è la mia linea di comando:
/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
Ricevo molti errori come il seguente:
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)'
non riesco a capire che cosa sta causando questo. Non ottengo l'operatore nuovo gratuitamente con C++?
È davvero difficile aiutare in base a queste informazioni. Prova a * ridurre * le condizioni necessarie per riprodurre il problema. La riga di comando di cui sopra è troppo complessa, anche se assumiamo che il codice sia semplice e non faccia cose come ridefinire 'operator new'. –
Il primo errore ha segnalato un nuovo errore dell'operatore? In caso contrario, qual è il primo errore segnalato? –
Sì, gli unici errori riportati sono nuovi errori dell'operatore. Quello mostrato è il primo. – mbyrne215