0

Estoy usando Codeblocks 17.12 con C, no me permite seguir debugeando un programa porque a intentar ejecutarlo mostrará estos errores en el build log:

obj\Debug\main.o: In function `main':
C:/Users/lurdr/Desktop/arregloFilas/main.c:31: undefined reference to `muestroADF'
obj\Debug\main.o: In function `archivoToADF':
C:/Users/lurdr/Desktop/arregloFilas/main.c:112: undefined reference to `alta'
collect2.exe: error: ld returned 1 exit status
Process terminated with status 1 (0 minute(s), 5 second(s))
3 error(s), 2 warning(s) (0 minute(s), 5 second(s))

Luego, al intentar compilar con un editor online, muestra este error:

/usr/bin/ld:arregloFilas.cbp: file format not recognized; treating as linker script
/usr/bin/ld:arregloFilas.cbp:1: syntax error
collect2: error: ld returned 1 exit status

No tengo dudas de que las funciones están prototipadas donde deben estar, los .c con sus correspondientes .h, y el .h que debe llevar el main está en el main. Ya intenté quitando estructuras y prototipados de las librerías y poniéndolos antes del int main(), con las funciones escritas por debajo de este. Lo mismo. Cuando literalmente estoy viendo las referencias encima del main.

obj\Debug\main.o: In function `main':
C:/Users/lurdr/Desktop/arrFilas/main.c:81: undefined reference to `cargarArchivo'
C:/Users/lurdr/Desktop/arrFilas/main.c:82: undefined reference to `mostrarArchivo'
C:/Users/lurdr/Desktop/arrFilas/main.c:85: undefined reference to `archivoToADF'
obj\Debug\main.o: In function `agregar':
C:/Users/lurdr/Desktop/arrFilas/main.c:164: undefined reference to `crearNodo'
C:/Users/lurdr/Desktop/arrFilas/main.c:165: undefined reference to `agregarAlFinal'
obj\Debug\main.o: In function `mostrarFila':
C:/Users/lurdr/Desktop/arrFilas/main.c:179: undefined reference to `mostrarLista'
obj\Debug\main.o: In function `extraer':
C:/Users/lurdr/Desktop/arrFilas/main.c:190: undefined reference to `retornarPrimerDato'
C:/Users/lurdr/Desktop/arrFilas/main.c:192: undefined reference to `borrarPrimerNodo'
C:/Users/lurdr/Desktop/arrFilas/main.c:196: undefined reference to `inicLista'
obj\Debug\main.o: In function `retornarPrimero':
C:/Users/lurdr/Desktop/arrFilas/main.c:210: undefined reference to `retornarPrimerDato'
collect2.exe: error: ld returned 1 exit status
Process terminated with status 1 (0 minute(s), 1 second(s))
11 error(s), 9 warning(s) (0 minute(s), 1 second(s))
lurdrigz
  • 21
  • 5
  • ¿Responde [esto](https://es.stackoverflow.com/questions/65557/simbolo-externo-sin-resolver-qu%c3%a9-he-hecho-mal) a tu pregunta? – PaperBirdMaster Nov 11 '21 at 11:48
  • no se qué esperas que te podamos contar sin código. Lo único que se me ocurre es que a la hora de enlazar (generar el ejecutable), tienes que indicar todos los código objeto que has compilado anteriormente, si no, el enlazador no podrá _unir_ las llamadas a funciones – eferion Nov 11 '21 at 11:48
  • Ya pude solucionarlo! Si bien las librerías estaban en la carpeta del proyecto, correctamente enlazadas y todo, con hacer un "Add files" otra vez de todas ellas funcionó. Aún no entiendo cuándo fue que el compilador "desconoció" las librerías, pero esto me permitió ejecutar el código. – lurdrigz Nov 11 '21 at 12:49

0 Answers0