Gcc makefile和gtk+的编译错误;

Gcc makefile和gtk+的编译错误;,gcc,compilation,compiler-errors,gtk,Gcc,Compilation,Compiler Errors,Gtk,我对gtk有个大问题+ 使用makefile编译时,我有: gcc Affichage.c -W -Wall `pkg-config --cflags --libs gtk+-2.0` /usr/lib/gcc/i686-linux-gnu/4.7/../../../i386-linux-gnu/crt1.o: dans la fonction « _start »: (.text+0x18): référence indéfinie vers « main » collect2: erreur

我对gtk有个大问题+

使用makefile编译时,我有:

gcc Affichage.c -W -Wall `pkg-config --cflags --libs gtk+-2.0`
/usr/lib/gcc/i686-linux-gnu/4.7/../../../i386-linux-gnu/crt1.o: dans la fonction « _start »:
(.text+0x18): référence indéfinie vers « main »
collect2: erreur: ld a retourné 1 code d'état d'exécution
make: *** [Affichage.o] Erreur 1
在Makefile中,行是:

Affichage.o: Affichage.c
    gcc Affichage.c -W -Wall `pkg-config --cflags --libs gtk+-2.0`
你有主意吗


PS:对不起,我的英语不好。。。我是法国人

我相信你的意图是要把
Affichage.o
仅仅作为一个大项目的一部分。如果确实是这样,那么您应该在您给定的规则中添加
-c
标志。这样,它将要求GCC只编译
Affichage.c
,而不与CRT链接(假设您有一个单独的规则链接整个程序)。在这种情况下,您不需要将
--libs
标志传递给
pkg config
。您应该将其移动到单独的链接规则

在您的情况下,LD表示它错过了程序的入口点(即
main
函数)。我相信它存在于其他地方,而不是
Affichage.c
文件中