2010-11-19 131 views

Respuesta

2

Necesita encontrar qué archivo de objeto o biblioteca terminate vive e incluirlo en su comando de compilación/enlace.

Si está en un archivo objeto o fuente, sólo le dan a su gcc (asumiendo que usted está utilizando realmente gcc, si no, el método será probablemente similar) de comandos con normalidad. Si está en una biblioteca, debe buscar en las opciones -L (ruta de la biblioteca) y -l (nombre de la biblioteca).

-2

void terminate(void) { raise(9); }

8

terminate se define en la biblioteca estándar de C++, así que asegúrese de que va a asociar que en. Suponiendo que está usando gcc para compilar, se debe utilizar el g++ ejecutable para compilar el código fuente, no la gcc ejecutable:

g++ source.cc -o output 

Cuando se ejecuta como g++, el enlazador enlaza automáticamente en la biblioteca C++ estándar (libstdC++) para usted. Si en lugar de ejecutar gcc tan claro gcc, o se invoca directamente el enlazador ld, entonces es necesario agregar -lstdc++ mismo para enlazar en la biblioteca, por ejemplo .:

gcc source.cc -o output -lstdc++ # Compile directly from source 
ld source1.o source2.o -o output -lstdc++ # Link together object files 
Cuestiones relacionadas