0

gtk+ に大きな問題があります

メイクファイルでコンパイルすると、次のようになります。

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 : 下手な英語でごめんなさい... 私はフランス人です

4

1 に答える 1

1

あなたの意図はAffichage.o、大きなプログラムの一部だけを作ることだったと思います。本当にそうだった場合は-c、指定したルールにフラグを追加する必要があります。この方法では、GCC にコンパイルのみを要求しAffichage.c、CRT とのリンクは要求しません (プログラム全体をリンクする別のルールがあると仮定します)。その場合、--libsflag をに渡す必要はありませんpkg-config。リンク用の別のルールに移動する必要があります。

あなたの場合、LDはプログラムのエントリポイント(つまりmain関数)が欠落していると言っています。ファイルではなく、別の場所にあると思いAffichage.cます。

于 2013-05-12T19:04:54.463 に答える