estoy portar una aplicación de Solaris a Linuxcrt1.o: En función `_start ': - referencia indefinida a` principal' en Linux
Los archivos de objetos que están vinculados no tienen un main() definido. Pero la compilación y el enlace se realizan correctamente en Solaris y se genera el ejecutable. En Linux consigo este error
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
Mi problema es que no se puede incluir la nueva .c/archivos .o desde su una gran aplicación y ha estado funcionando durante años. ¿Cómo puedo deshacerme de este error?
Extractes Código de makefile:
RPCAPPN = api
LINK = cc
$(RPCAPPN)_server: $(RPCAPIOBJ)
$(LINK) -g $(RPCAPIOBJ) -o $(RPCAPPN)_server $(IDALIBS) $(LIBS) $(ORALIBS) $(COMMONLIB) $(LIBAPI) $(CCLIB) $(THREADLIB) $(DBSERVERLIB) $(ENCLIB)
¿Se puede publicar el makefile y/o los comandos de compilación reales? –
Sí .. He agregado algunas líneas de makefile. – Blackforest
Simple: o deja de llamar a main o define un main (^) ¿Por qué funcionó en Solaris? ¿Tenía indicadores de vinculador especiales (enlace al objeto compartido?) – wildplasser