statisches einbinden von libcgi schlägt fehl (undefined reference)
-
Hi
ich versuche gerade ein kleines Programm zu übersetzen, dass auf die Bibliothek libcgi zugreift. Wenn ich das Programm dynamisch übersetz, funktioniert es einwandfrei. Sobald ich aber dem gcc die -static Option mitgebe, knallt der bei jedem Funktionsaufruf mit einem "undefined reference" rein.
gcc -Wall -static -o telefon.cgi -lcgi telefon.c /tmp/ccAKkTkP.o: In function `main': telefon.c:(.text+0x32): undefined reference to `cgi_init' [...]
Was mache ich falsch?
-
such am besten die datei libcgi.a und schau mit nm nach, ob das auch die richtige ist oder vielleicht eine statische bibliothek eines ganz anderen programms.
nm --defined-only libacl.a
dabei sollten dann cgi_init und die anderen funktionen auftauchen.
-
Die Funktion ist in libcgi.a vorhanden:
#nm --defined-only /usr/lib/libcgi.a | grep cgi_init 0000070c T cgi_init 00000539 T cgi_init_headers
-
pack das -lcgi hinter telefon.c.
-
m'oh!
geht, danke!