undefined reference to

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
chabayo
Beiträge: 930
Registriert: 17.08.2005 07:44:33
Lizenz eigener Beiträge: Artistic Lizenz

undefined reference to

Beitrag von chabayo » 05.01.2021 20:21:23

Hallo,

ich wollte nur mal schnell ne Word-Cloud als Grafik, und hab 'vikloud' von Sourceforge runtergeladen.
make hat geschrieben:gcc `pkg-config gtk+-2.0,cairo --libs` vikloud.o words.o -o vikloud
vikloud.o: In function `overlaps':
viklout/vikloud.c:117: undefined reference to `cairo_image_surface_get_data'
vikloud.o: In function `place_text':
viklout/vikloud.c:143: undefined reference to `cairo_set_font_size'
viklout/vikloud.c:144: undefined reference to `cairo_text_extents'
viklout/vikloud.c:195: undefined reference to `cairo_move_to'
viklout/vikloud.c:197: undefined reference to `cairo_set_source_rgba'
viklout/vikloud.c:204: undefined reference to `cairo_show_text'
vikloud.o: In function `main':
viklout/vikloud.c:243: undefined reference to `cairo_image_surface_create'
viklout/vikloud.c:245: undefined reference to `cairo_create'
viklout/vikloud.c:247: undefined reference to `cairo_select_font_face'
viklout/vikloud.c:251: undefined reference to `cairo_font_options_create'
viklout/vikloud.c:252: undefined reference to `cairo_get_font_options'
viklout/vikloud.c:253: undefined reference to `cairo_font_options_set_hint_metrics'
viklout/vikloud.c:254: undefined reference to `cairo_font_options_set_hint_style'
viklout/vikloud.c:255: undefined reference to `cairo_set_font_options'
viklout/vikloud.c:256: undefined reference to `cairo_font_options_destroy'
viklout/vikloud.c:293: undefined reference to `cairo_surface_write_to_png'
collect2: error: ld returned 1 exit status
Makefile:13: recipe for target 'vikloud' failed
make: *** [vikloud] Error 1
fuer mich ueber.
pkg-config --libs cairo hat geschrieben:-lcairo
ld --verbose | grep SEARCH_DIR | \ sed -e "s/SEARCH_DIR("=//g" -e "s/"); */\n/g" | \ while read one; do ls $one/libcairo.so 2>/dev/null; done hat geschrieben:/usr/lib/x86_64-linux-gnu/libcairo.so
nm -D /usr/lib/x86_64-linux-gnu/libcairo.so hat geschrieben:0000000000037aa0 T cairo_image_surface_get_data
Wer hat Information um meine Dummheit erfolgreich zu ersetzen?
Watt about the non-digital!?

DeletedUserReAsG

Re: undefined reference to

Beitrag von DeletedUserReAsG » 05.01.2021 20:26:48

Debianlibcairo2-dev ist installiert?

Ansonsten: du hast gesehen, dass der Tarball auf sourceforge vor zehn Jahren das letzte Mal angefasst wurde? Kann durchaus sein, dass es zu heutigen Lib-Versionen nicht mehr kompatibel ist.

Benutzeravatar
chabayo
Beiträge: 930
Registriert: 17.08.2005 07:44:33
Lizenz eigener Beiträge: Artistic Lizenz

Re: undefined reference to

Beitrag von chabayo » 05.01.2021 20:41:55

Danke.
dpkg -l | grep libcairo hat geschrieben:ii libcairo-gobject2:amd64 1.14.6-1 amd64 Cairo 2D vector graphics library (GObject library)
ii libcairo-script-interpreter2:amd64 1.14.6-1 amd64 Cairo 2D vector graphics library (script interpreter)
ii libcairo2:amd64 1.14.6-1 amd64 Cairo 2D vector graphics library
ii libcairo2-dev 1.14.6-1 amd64 Development files for the Cairo 2D graphics library
pkg-conf zeigt sie mir auch an.

Also warum macht ld den schmarrn?

Hab jetzt Besuch bekommen..versuchs Morgen weiter.
Watt about the non-digital!?

JTH
Moderator
Beiträge: 3077
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: undefined reference to

Beitrag von JTH » 05.01.2021 21:39:32

Die zu verlinkenden Libs stehen an der falschen Stelle.

Wirf Zeile 13 im Makefile raus und ersetz LDFLAGS in Zeile 4 durch LDLIBS, dann klappts.
Manchmal bekannt als Just (another) Terminal Hacker.

Benutzeravatar
chabayo
Beiträge: 930
Registriert: 17.08.2005 07:44:33
Lizenz eigener Beiträge: Artistic Lizenz

Re: undefined reference to

Beitrag von chabayo » 06.01.2021 11:20:19

Grossartig.
:hail:
Danke.
Watt about the non-digital!?

Antworten