Portál AbcLinuxu, 4. prosince 2025 13:37
$ gcc -static -lm tabulkogen.c -o tabulkogen /tmp/cc8Piffn.o(.text+0xd5): In function `cvn': : undefined reference to `pow' /tmp/cc8Piffn.o(.text+0x167): In function `cvn': : undefined reference to `pow' /tmp/cc8Piffn.o(.text+0x1cc): In function `cvn': : undefined reference to `log' /tmp/cc8Piffn.o(.text+0x1ee): In function `cvn': : undefined reference to `log' /tmp/cc8Piffn.o(.text+0x25d): In function `cvn': : undefined reference to `pow' /tmp/cc8Piffn.o(.text+0x29a): In function `cvn': : undefined reference to `pow' collect2: ld returned 1 exit statusSystém se tváří jako by knihovna nebyla přilinkována, nebo chyběla její statická verze. Ta tam ovšem je a pravděpodobně i obsahuje výše vypsanou umocňovací funkci, viz
$ nm /usr/lib/libm.a|grep pow
e_pow.o:
00000000 T __ieee754_pow
00000000 W pow10
00000000 T __pow10
w_pow.o:
U __ieee754_pow
00000000 W pow
00000000 T __pow
s_cpow.o:
00000000 W cpow
00000000 T __cpow
e_powf.o:
00000000 T __ieee754_powf
00000000 W pow10f
00000000 T __pow10f
w_powf.o:
U __ieee754_powf
00000000 W powf
00000000 T __powf
s_cpowf.o:
00000000 W cpowf
00000000 T __cpowf
e_powl.o:
00000000 T __ieee754_powl
00000000 W pow10l
00000000 T __pow10l
w_powl.o:
U __ieee754_powl
00000000 W powl
00000000 T __powl
s_cpowl.o:
00000000 W cpowl
00000000 T __cpowl
slowpow.o:
Dělám něco špatně? Mám kompilátoru nějak říct, co přesně po něm chci? Potřebuju aby to ideálně fungovalo se všemi knihovnami od kterých mám ".a" soubory...
Řešení dotazu:
knihovny mají svoje závislosti... a musí se kompilátoru nacpat ručně. (tj.celé cesty k .a souborům místo jednoduchého -lknihovna)..
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.