Je travaille sur un projet C avec environ 30 fichiers source (.c). Je construis ce projet sur un micro-contrôleur 32 bits (i.MX515) fonctionnant sous Ubuntu en utilisant les outils GNU.Dans la fonction `_start ': init.c :(. Text + 0x30): référence non définie à` main'
La phase de compilation se termine avec succès, mais lorsque le processus de liaison commence-je obtenir cette erreur (Pour toute erreur complète à la fin de la quesiton):
In function `_start': init.c:(.text+0x30): undefined reference to `main'
J'ai une fonction main()
qui fait simple printf()
.
Ma ligne Makefile pour la liaison, ressemble à ceci.
final: $(OBJDIR)/main.o $(OBJDIR)/TchClaKnn_BuildKdtreeInt.o $(OBJDIR)/TchClaKnn_FreeKdtreeInt.o.... (Go upto 30 files like this)
@echo ".Linking"
$(CC) $(LFLAGS) -o $(OBJDIR)/main.o $(OBJDIR)/TchClaKnn_BuildKdtreeInt.o $(OBJDIR)/TchClaKnn_FreeKdtreeInt.o..... (Go upto 30 files like this)
Aidez-moi !!!
Cordialement
Vikram
complète erreur de liaison
/usr/lib/gcc/arm-linux-gnueabi/4.3.3/../../../crt1.o: In function `_start':
init.c:(.text+0x30): undefined reference to `main'
collect2: ld returned 1 exit status
make[1]: *** [final] Error 1
make[1]: Leaving directory `/home/ubuntu/Documents/Project/IMX_Project_v1'
make: *** [all] Error 2
Est main() dans main.c (compilé à main.o)? –