sto porting di un'applicazione da Solaris a Linuxcrt1.o: In funzione `_start ': - undefined reference to` main' in Linux
I file oggetto che sono collegati non hanno un main() definito. Ma la compilazione e il collegamento vengono eseguiti correttamente in Solaris e viene generato l'eseguibile. In Linux ottengo questo errore
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
Il mio problema è che non posso includere nuova .c/file .o dalla sua una grande applicazione ed è stato in esecuzione per anni. Come posso sbarazzarmi di questo errore?
extractes Codice di makefile:
RPCAPPN = api
LINK = cc
$(RPCAPPN)_server: $(RPCAPIOBJ)
$(LINK) -g $(RPCAPIOBJ) -o $(RPCAPPN)_server $(IDALIBS) $(LIBS) $(ORALIBS) $(COMMONLIB) $(LIBAPI) $(CCLIB) $(THREADLIB) $(DBSERVERLIB) $(ENCLIB)
È possibile pubblicare il makefile e/oi comandi di compilazione effettivi? –
Sì .. Ho aggiunto poche righe da makefile. – Blackforest
Semplice: o smetti di chiamare main o definisci un main (^) Perché funziona su solaris? Aveva flag linker speciali (link a oggetti condivisi?) – wildplasser