4. Errores de enlazado

Antes de ver el por que de los errores de enlazado vamos a tratar mostrar como funciona un compilador. 

Recordemos que el Compilador de C++ es un programa que traduce el códig fuente del programador en un código Objeto ejecutable ( ceros y unos )

El compilador realiza VARIAS pasadas


y en cada una de ellas realiza alguna acción que busca generar el ejecutable.

  •     Toma el l código fuente y realiza un análisis Lexico, Siintáctico y Semántico , esto NO facil de realizar y la comprensión de ello escapa a nuestra materia. En esta etapa controla por ejemplo variables no definidas, palabras claves mas escritas, reemplazo de constantes simbólicas, etc.  
  •    Se incorpora el código fuente correspondiente a las librerías para ir formadno un  código objeto o módulo de objeto. Un programa puede tener muchos objetos y bibliotecas que necesitan ser unidas entre sí para crear el ejecutable.
  •     Se crean los conectores, para enlazar todos los componentes del programa.
  •     Se reasignan los bloques de memoria dentro del programa de modo que una pieza no sobreponga a otra parte en la memoria, esto sería parte de la optimización.
  •     Los archivos compilados se graban en el disco u otro tipo de memoria permanente.
  •     El resultado es un archivo o programa ejecutable.

Como vemos hay varios pasos.

Errores de Enlazado

El compilador intenta enlazar ( unir ,  incorporar ) código fuente de las librerías pero NO las  encuentra, puede ser una función que NO existe en una librería o una Librería que no se encuentra. En este caso tira un error de Enlazado.