terminate
è definito nella libreria standard C++, in modo da assicurarsi che si sta collegando che nel. Supponendo che si sta utilizzando gcc per compilare, è necessario utilizzare il g++
eseguibile per compilare il codice sorgente, non il gcc
eseguibile:
g++ source.cc -o output
Quando viene eseguito come g++
, il linker collega automaticamente nella libreria standard C++ (libstdC++) per voi. Se invece si esegue gcc come semplice gcc
, o si richiama direttamente il linker ld
, allora avete bisogno di aggiungere -lstdc++
voi stessi di linkare la libreria, per es .:
gcc source.cc -o output -lstdc++ # Compile directly from source
ld source1.o source2.o -o output -lstdc++ # Link together object files
fonte
2010-11-19 06:23:57