Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Linker Error: Undefined symbol...

Estas en el tema de Linker Error: Undefined symbol... en el foro de C/C++ en Foros del Web. Hola, estoy haciendo una práctica con el TurboC que está formada por ficheros en ensamblador (.ASM), ficheros de cabecera (.H) que definen las funciones de ...
  #1 (permalink)  
Antiguo 15/06/2008, 12:51
 
Fecha de Ingreso: junio-2008
Mensajes: 3
Antigüedad: 15 años, 10 meses
Puntos: 0
Exclamación Linker Error: Undefined symbol...

Hola,

estoy haciendo una práctica con el TurboC que está formada por ficheros en ensamblador (.ASM), ficheros de cabecera (.H) que definen las funciones de ensamblador como externas y el main (.C) así como otros ficheros que definen estructura en C.

El problema es que no me reconoce aquellas funciones en ensamblador (creo que "sólo" son esas) y no entiendo dónde está el error (el linker, el tasm...) ni cómo solucionarlo. En principio las rutas están bien configuradas...

¿Alguien tiene alguna idea?

¡Gracias!
  #2 (permalink)  
Antiguo 15/06/2008, 15:53
 
Fecha de Ingreso: marzo-2008
Mensajes: 306
Antigüedad: 16 años, 1 mes
Puntos: 6
Respuesta: Linker Error: Undefined symbol...

Pues sin más datos es imposible ayudarte.
Lo único que se me ocurre es que utilices el comando "nm" con el fichero objeto en el cual CREES que está el símbolo o símbolos que no encuentra en linker.
Si SI lo encuentras, es que el linker no está utilizando dicho fichero objeto, y si NO lo encuentra pueden ser varias cosas:
- El nombre de la función o variable no está bien escrito: cuidado con las mayúsculas y minúsculas, y con la longitud pues algunos linkers tienen un límite de 32 caracteres.
- El fichero objeto se está generando en un directorio diferente
- ...
__________________
Pop & Rock Bands
Pop Music Stars
  #3 (permalink)  
Antiguo 16/06/2008, 02:02
 
Fecha de Ingreso: junio-2008
Mensajes: 3
Antigüedad: 15 años, 10 meses
Puntos: 0
Exclamación Respuesta: Linker Error: Undefined symbol...

¿Más datos?

- He hecho un chdir, por lo que debería mirar en el directorio actual.

- Si compilo de forma manual:

tasm Majus.asm --> obtengo el MAJUS.OBJ
tcc -c Prueba.c --> obtengo el PRUEBA.OBJ
tlink PRUEBA.OBJ MAJUS.OBJ

Me sale el siguiente error:
Error: Undefined symbol _PRINTF in module Prueba.c
Error: Undefined symbol F_SCOPY@ in module Prueba.c
Warning: no stack

Los directories están bien configurados en el TC, las variables de entorno también.
Las opciones configuradas son las que me piden para la práctica:
Code Generation:
Options --> Unsigned characters, Standard Stack Frame
Molde --> Large
Optimization options:
Register Variables --> None
Optimize for --> Size.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:59.