/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

Error de Linkeo !

 
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
lad3



Registrado: 25 Sep 2005
Mensajes: 2

MensajePublicado: 26/09/2005 1:58 pm
Título: Error de Linkeo !

Muchachada, este es el primer post de un nuevo incursionador en el mundillo de C... y, para no ser menos, comienzo con una duda y una disculpa:

La disculpa: no tengo teclado en espaniol, je.

La duda:
Uso el DEV-C++ 4.9.9.2 c/mingw y WinXP, escribo en ANSI C. Me arme un libreria estatica compilando un archivo de cabeceras (.h) y un .c que define la implementacion de las funciones que aparecen en la cabecera y genere el .a correspondiente. Luego cree una pequenia aplicacion que use la libreria... pero al compilar me dice:

[Linker error] undefined reference to `or'

Ya he asignado la libreria que he creado yo desde la vinieta adecuada en Opciones de Proyecto; use #include "TDAparser.h" (tal es el nombre del .h, que se encuentra en el mismo directorio que el .c que lo utiliza) y no existe ninguna funcion o variable de algun tipo bajo la denominacion 'or' que no este definida.
En resumen: no se de que me esta hablando el linker. Todo parece estar en su lugar...pero no logro compilar.

Si pueden ayudarme, tendran mi gratitud.
Si necesitan ver el codigo, solo pidanlo.

Muchas gracias de antemano.-
Volver arriba
cheroky



Registrado: 22 Sep 2005
Mensajes: 1331
Ubicación: En ecx esperando un call

MensajePublicado: 26/09/2005 3:53 pm
Título:

Como se llama la libreria? en que directorio esta? mas que el codigo seri a interesante que postearas el makefile que te ha generado dev-c++
Volver arriba
lad3



Registrado: 25 Sep 2005
Mensajes: 2

MensajePublicado: 26/09/2005 4:23 pm
Título:

la libreria se llama libTDAparser.a y he probado poniendola en el sub-directorio /lib del DEV-C++ o en la misma carpeta que el .c (ninguna parece funcionar, tira el mismo error).

El makefile dice lo siguiente:

# Project: usaTDAparser
# Makefile created by Dev-C++ 4.9.9.2

CPP = g++.exe
CC = gcc.exe
WINDRES = windres.exe
RES =
OBJ = usaTDAparser.o $(RES)
LINKOBJ = usaTDAparser.o $(RES)
LIBS = -L"C:/Dev-Cpp/lib" libTDAparser.a
INCS = -I"C:/Dev-Cpp/include"
CXXINCS = -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"C:/Dev-Cpp/include/c++/3.4.2/backward" -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32" -I"C:/Dev-Cpp/include/c++/3.4.2" -I"C:/Dev-Cpp/include"
BIN = usaTDAparser.exe
CXXFLAGS = $(CXXINCS) -ansi
CFLAGS = $(INCS) -ansi
RM = rm -f

.PHONY: all all-before all-after clean clean-custom

all: all-before usaTDAparser.exe all-after


clean: clean-custom
${RM} $(OBJ) $(BIN)

$(BIN): $(OBJ)
$(CC) $(LINKOBJ) -o "usaTDAparser.exe" $(LIBS)

usaTDAparser.o: usaTDAparser.c
$(CC) -c usaTDAparser.c -o usaTDAparser.o $(CFLAGS)

Si es necesario algo mas, avisar.
Gracias !
Volver arriba
machagai



Registrado: 29 Sep 2007
Mensajes: 1

MensajePublicado: 29/09/2007 4:07 pm
Título: Tengo el mismo problema

Holaaa tengo el mismo problema, ayuda por favot.

saludos
Volver arriba
cheroky



Registrado: 22 Sep 2005
Mensajes: 1331
Ubicación: En ecx esperando un call

MensajePublicado: 30/09/2007 6:27 am
Título:

El makefile lo veo correcto, lo que me escama es que tengas un identificador 'or' (tan cortito) de donde deriva el error, ¿no tendras alguna variable extern? o bien el escope de alguna ¿variable?.

Prueba hacer lo siguiente, sin abrir un proyecto, creas un nuevo fichero con extension *.c (por el makefile veo que es *.c no *.cpp) ahi haces una prueba de tu/s funcion/es y en Herramientas/opciones del copilador , en el edit "Añadir estos comandos a la linea de comnados del linker" tipeas: -lTDAparser, no olvides marcar la casilla para que acepte los keywords.

Ya nos comentaras que ocurre.

S2.
_________________
- Explícito es mejor que implícito.
- Simple es mejor que complejo.
- Complejo es mejor que complicado.
- Plano es mejor que anidado.
- Ralo es mejor que denso.
Volver arriba
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com