Problémy s knihovnami

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Pondělí Březen 3 22:38:10 CET 2003


On Mon, 24 Feb 2003, Ales DOLECEK wrote:

> getopt.h leží v "/usr/local/include" spolu s několika dalšími
> hlavičkovými soubory, které nejsou v "/usr/include". Předpokládám, že
> odpovídající knihovny jsou v "/usr/local/lib". Knihovna "libpopt.so"
> (která by snad měla obsahovat fce z "getopt.h") na uvedené cestě leží.
> Bohužel přidání "-L/usr/local/lib -lpopt" (viz výše) nepomáhá.

No nevim, getopt_long by melo byt v glibc. I kdyz v libpopt je mozna
nejaka jeji napodobenina. Ovsem ted mne napada, jestli neni problem
v poradi parametru u glibc:

> -bash-2.05b$ gcc -L/usr/local/lib -lpopt -ologbot *.o

Je dobrym zvykem uvadet knihovny (-l) az nakonec po vsech ostatnich
linkovanych souborech. Zkuste si z manualu k ld nastudovat, jak probiha
zpracovani -l a treba pochopite, v cem muze byt problem.

> Je možná, že by uvedená fce. byla v jiné knihovně?
> Jak je možné zjistit, které fce. knihovna obsahuje?

Treba nm resp. nm -D.


--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."




Další informace o konferenci Linux