GTK - linker error

GTK - linker error
2007-10-15T14:40:57+02:00
2007-10-16T08:55:08+02:00
2022-11-06T06:50:36+01:00
<Crystal>
Sziasztok,

az alábbi programot próbáltam meg fordítani gcc-vel (ubuntu alatt):

#include <gtk/gtk.h> int main( int argc, char *argv[] ) { GtkWidget *window; //gtk_init (&argc, &argv); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_show (window); //gtk_main (); return 0; }

az alábbi fordítóbeállításokal:
gcc -Wall `pkg-config --cflags --libs gtk+-2.0` -c "gtktry001.c" -o "gtktry001.o"

és az alábbi hibát kapom egyfolytában pedig már nem találok synapticban olyan csomagot amit még esetleg fel kéne rakni:

gcc: -lgtk-x11-2.0: linker input file unused because linking not done
gcc: -lgdk-x11-2.0: linker input file unused because linking not done
gcc: -latk-1.0: linker input file unused because linking not done
gcc: -lgdk_pixbuf-2.0: linker input file unused because linking not done
gcc: -lm: linker input file unused because linking not done
gcc: -lpangocairo-1.0: linker input file unused because linking not done
gcc: -lfontconfig: linker input file unused because linking not done
gcc: -lXext: linker input file unused because linking not done
gcc: -lXrender: linker input file unused because linking not done
gcc: -lXinerama: linker input file unused because linking not done
gcc: -lXi: linker input file unused because linking not done
gcc: -lXrandr: linker input file unused because linking not done
gcc: -lXcursor: linker input file unused because linking not done
gcc: -lXfixes: linker input file unused because linking not done
gcc: -lpango-1.0: linker input file unused because linking not done
gcc: -lcairo: linker input file unused because linking not done
gcc: -lX11: linker input file unused because linking not done
gcc: -lgobject-2.0: linker input file unused because linking not done
gcc: -lgmodule-2.0: linker input file unused because linking not done
gcc: -ldl: linker input file unused because linking not done
gcc: -lglib-2.0: linker input file unused because linking not done

van valakinek ötlete hogy miért?

Crystal
Mutasd a teljes hozzászólást!
Szia!

Bocs, de azt hittem tudod, hogy a // kommentet jelent a gcc-nek. Nem szabványos, mert ez c++-os komment, de a gcc elfogadja. Egyszerűen csak szedd ki őket, és működni fog.
Ha pedig összetettebb programot akarsz fordítani, amely több ilyen fájlból áll, akkor a következő módon fordíts:
gcc `pkg-config --cflags gtk+-2.0` valami.c -c
majd mikor megvan az összes object file, akkor:
gcc `pkg-config --libs gtk+-2.0` *.o -o kesz

Javaslom, tanuld meg a make használatát, mert egy csomó kellemetlenségtől mented meg magad.
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd