Portál AbcLinuxu, 10. května 2025 00:16
main.o(.text+0x2b):main.c: undefined reference to `gtk_set_locale'
main.o(.text+0x55):main.c: undefined reference to `gtk_init_abi_check'
main.o(.text+0x5a):main.c: undefined reference to `gtk_main'
interface.o(.text+0xf):interface.c: undefined reference to `gtk_window_new'
atd.
CC = /d/MinGW/bin/gcc -mms-bitfields -mno-cygwin -mwindows
CFLAGS = -I/d/include/mysql -I/d/GTK/include/gtk-2.0 -I/d/GTK/include/atk-1.0 -I/d/GTK/include/pango-1.0 -I/d/GTK/include/glib-2.0 -I/d/GTK/lib/glib-2.0/include -I/d/GTK/lib/gtk-2.0/include -I/d/GTK/MySQL/include
LIBS = -L/d/GTK/lib -lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -liconv
all: main.o callbacks.o interface.o support.o
$(CC) $(LIBS) -o program main.o callbacks.o interface.o support.o
main.o: main.c
$(CC) -c main.c $(CFLAGS)
callbacks.o: callbacks.c
$(CC) -c callbacks.c $(CFLAGS)
interface.o: interface.c
$(CC) -c interface.c $(CFLAGS)
support.o: support.c
$(CC) -c support.c $(CFLAGS)
pkg-config --cflags gtk+-2.0a LDFLAGS
pkg-config --libs gtk+-2.0což přímo použij v Makefile, CFLAGS := $(shell ...), LDFLAGS := $(shell ...). Pokud nefunguje, tak k fungování stačí nastavit PKG_CONFIG_PATH (jako na Linuxu).
echo `ls` echo $(ls)
A := $(shell echo $$RANDOM) B := `echo $$RANDOM` default: @echo $(A) $(A) $(A) $(A) @echo $(B) $(B) $(B) $(B)Detaily viz v dokumentaci GNU make...
pkg-config --cflags gtk+-2.0
pkg-config --libs gtk+-2.0
main.o:main.c:(.text+0x2b): undefined reference to `_gtk_set_locale'
main.o:main.c:(.text+0x55): undefined reference to `_gtk_init_abi_check'
main.o:main.c:(.text+0x5a): undefined reference to `_gtk_main'
interface.o:interface.c:(.text+0xf): undefined reference to `_gtk_window_new'
interface.o:interface.c:(.text+0x17): undefined reference to `_gtk_window_get_ty
pe'
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.