Portál AbcLinuxu, 10. května 2025 04:16

Dotaz: MinGW a regex

11.1.2009 17:56 finn | skóre: 43 | blog: finnlandia | 49° 44´/13° 22´
MinGW a regex
Přečteno: 331×
Odpovědět | Admin
Chci si přeložit svůj program pro windows, takže jsem si ve WinXP nainstaloval MinGW. V programu používám POSIXové funkce regcomp(), regexec(), regerror() a regfree().

Ale co čert nechtěl, MinGW neznal regex.h. Po chvilce hledání jsem zjistil, že MinGW a regulární výrazy moc dohromady nejdou a že je potřeba doinstalovat mingw-regex.

Takže jsem stáhnul, rozbalil a zkopíroval na patřičná místa knihovnu regex, ale teď zase protestuje linker:
gcc -Wall -lregex -O2 -o version.exe version.c
C:\DOCUME~1\...\Temp/ccCqbaa.o:version.c(.text+0x15e): undefined reference to 'regcomp'
C:\DOCUME~1\...\Temp/ccCqbaa.o:version.c(.text+0x15e): undefined reference to 'regexec'
...
collect2: ld returned 1 exit status
Z toho mi plyne, že překlad proběhne v pořádku, linker dokonce najde knihovnu regex, ale v ní už nenalezne zmíněné funkce. Nějaký nápad co s tím? Nemůže být třeba problém v tom, že mingw-regex je přeložené jinou verzí gcc?
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

12.1.2009 16:44 finn | skóre: 43 | blog: finnlandia | 49° 44´/13° 22´
Rozbalit Rozbalit vše Re: MinGW a regex
Odpovědět | | Sbalit | Link | Blokovat | Admin
Takže chyba byla v pořadí parametrů, správně má být knihovna až za názvem modulu:
gcc -Wall -O2 -o version.exe version.c -lregex
Užívej dne – možná je tvůj poslední.

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.