Portál AbcLinuxu, 12. května 2025 02:14

Dotaz: MinGW a statické linkování

29.10.2010 11:15 finn | skóre: 43 | blog: finnlandia | 49° 44´/13° 22´
MinGW a statické linkování
Přečteno: 315×
Odpovědět | Admin
Mám pod MinGW problém se statickým linkováním svého programu, který používá funkce pro práci s regulárními výrazy (dynamické linkování je funkční). Tuší někdo, ce je špatně?
E:\program>make clean && make
rm -f program.o
gcc -Wall -O0 -c -ggdb program.c
program.c: In function 'process_line':
program.c:146:5: warning: unknown escape sequence: '\)'
program.c:146:5: warning: unknown escape sequence: '\}'
program.c:147:5: warning: unknown escape sequence: '\)'
program.c:147:5: warning: unknown escape sequence: '\}'
cc1.exe: warning: unknown escape sequence: '\)'
cc1.exe: warning: unknown escape sequence: '\}'
gcc program.o -o version -lregex -static
c:/program files/mingw/bin/../lib/gcc/mingw32/4.5.0/../../..\libregex.a(regex.o):regex.c:(.text+0xff): undefined reference to `_imp___ctype_'
c:/program files/mingw/bin/../lib/gcc/mingw32/4.5.0/../../..\libregex.a(regex.o):regex.c:(.text+0x1443): undefined reference to `_imp___ctype_'
c:/program files/mingw/bin/../lib/gcc/mingw32/4.5.0/../../..\libregex.a(regex.o):regex.c:(.text+0x1465): undefined reference to `_imp___ctype_'
c:/program files/mingw/bin/../lib/gcc/mingw32/4.5.0/../../..\libregex.a(regex.o):regex.c:(.text+0x1d23): undefined reference to `_imp___ctype_'
c:/program files/mingw/bin/../lib/gcc/mingw32/4.5.0/../../..\libregex.a(regex.o):regex.c:(.text+0x2c8c): undefined reference to `__assert'
c:/program files/mingw/bin/../lib/gcc/mingw32/4.5.0/../../..\libregex.a(regex.o):regex.c:(.text+0x2cb3): undefined reference to `__assert'
c:/program files/mingw/bin/../lib/gcc/mingw32/4.5.0/../../..\libregex.a(regex.o):regex.c:(.text+0x2e0c): undefined reference to `__assert'
c:/program files/mingw/bin/../lib/gcc/mingw32/4.5.0/../../..\libregex.a(regex.o):regex.c:(.text+0x2e2f): undefined reference to `__assert'
c:/program files/mingw/bin/../lib/gcc/mingw32/4.5.0/../../..\libregex.a(regex.o):regex.c:(.text+0x3bd5): undefined reference to `_imp___ctype_'
c:/program files/mingw/bin/../lib/gcc/mingw32/4.5.0/../../..\libregex.a(regex.o):regex.c:(.text+0x3e1b): undefined reference to `_imp___ctype_'
c:/program files/mingw/bin/../lib/gcc/mingw32/4.5.0/../../..\libregex.a(regex.o):regex.c:(.text+0x4862): undefined reference to `_imp___ctype_'
c:/program files/mingw/bin/../lib/gcc/mingw32/4.5.0/../../..\libregex.a(regex.o):regex.c:(.text+0x4fe6): undefined reference to `__assert'
c:/program files/mingw/bin/../lib/gcc/mingw32/4.5.0/../../..\libregex.a(regex.o):regex.c:(.text+0x5e22): undefined reference to `_imp___ctype_'
c:/program files/mingw/bin/../lib/gcc/mingw32/4.5.0/../../..\libregex.a(regex.o):regex.c:(.text+0x5e82): undefined reference to `_imp___ctype_'
c:/program files/mingw/bin/../lib/gcc/mingw32/4.5.0/../../..\libregex.a(regex.o):regex.c:(.text+0x5eab): undefined reference to `_imp___ctype_'
c:/program files/mingw/bin/../lib/gcc/mingw32/4.5.0/../../..\libregex.a(regex.o):regex.c:(.text+0x5f32): undefined reference to `_imp___ctype_'
c:/program files/mingw/bin/../lib/gcc/mingw32/4.5.0/../../..\libregex.a(regex.o):regex.c:(.text+0x5f5e): undefined reference to `_imp___ctype_'
c:/program files/mingw/bin/../lib/gcc/mingw32/4.5.0/../../..\libregex.a(regex.o):regex.c:(.text+0x5fb2): more undefined references to `_imp___ctype_' follow
c:/program files/mingw/bin/../lib/gcc/mingw32/4.5.0/../../..\libregex.a(regex.o):regex.c:(.text+0x6d02): undefined reference to `__assert'
c:/program files/mingw/bin/../lib/gcc/mingw32/4.5.0/../../..\libregex.a(regex.o):regex.c:(.text+0x6e6f): undefined reference to `__assert'
c:/program files/mingw/bin/../lib/gcc/mingw32/4.5.0/../../..\libregex.a(regex.o):regex.c:(.text+0x6f9b): undefined reference to `__assert'
c:/program files/mingw/bin/../lib/gcc/mingw32/4.5.0/../../..\libregex.a(regex.o):regex.c:(.text+0x7938): undefined reference to `__assert'
c:/program files/mingw/bin/../lib/gcc/mingw32/4.5.0/../../..\libregex.a(regex.o):regex.c:(.text+0x7eee): undefined reference to `__assert'
c:/program files/mingw/bin/../lib/gcc/mingw32/4.5.0/../../..\libregex.a(regex.o):regex.c:(.text+0x8bdd): more undefined references to `__assert' follow
c:/program files/mingw/bin/../lib/gcc/mingw32/4.5.0/../../..\libregex.a(regex.o):regex.c:(.text+0xdde8): undefined reference to `_imp___ctype_'
collect2: ld returned 1 exit status
make: *** [version] Error 1
Užívej dne – možná je tvůj poslední.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

29.10.2010 12:53 Goheeca
Rozbalit Rozbalit vše Re: MinGW a statické linkování
Odpovědět | | Sbalit | Link | Blokovat | Admin

Kdysi jsem nevedel o co se jedna, ale nejak jsem to nakonec slinkoval. Nedavno jsem narazil na tento blog, kde pisou:

With mingw, a typical error is undefined reference to `_imp___WHATEVER'. It means that the library is static, whereas the applications wants to use shared library.

Zde mi to pripada, ze byla libregex.a slinkovana s jinymi knihovnami dynamicky, ale nevim.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.