> 2015-02-26 1:40 GMT+01:00 Glynn Clements <glynn@gclements.plus.com>:
>> "undefined reference to __imp_xxxx" usually means that it found the
>> import library but not the corresponding DLL.
>
> right, it seems to be this case. Thanks for hint, Martin
regex-devel contains just a static library. Is it possible to solve
compilation issue somehow or do I need DLL lib?
If they're following the same naming conventions as Linux
distributions, there should be a corresponding "regex" package
containing the DLL.
Running software which uses the regex functions would only need the
"regex" package, while compiling it would need both the "regex" and
"regex-devel" packages.
On Sat, 28. Feb 2015 at 09:21:59 +0100, Martin Landa wrote:
> Because it's a static library.
yes, so it's seems to me that there is missing corresponding "regex"
package, right?
No, it's built as a static library, hence there is no DLL and therefore there's
no need for a "regex" package, because there's nothing left it could contain.
But feel free to rebuild the package as a dynamic library if you want - it's
only used by GRASS anyway.
Jürgen
--
Jürgen E. Fischer norBIT GmbH Tel. +49-4931-918175-31
Dipl.-Inf. (FH) Rheinstraße 13 Fax. +49-4931-918175-50
Software Engineer D-26506 Norden http://www.norbit.de
QGIS release manager (PSC) Germany IRC: jef on FreeNode
> yes, so it's seems to me that there is missing corresponding "regex"
> package, right?
No, it's built as a static library, hence there is no DLL and therefore there's
no need for a "regex" package, because there's nothing left it could contain.
It may be that Martin is using a different regex library (MinGW has
its own version, although it's not part of the base package).
I think this can also happen if the function is declared with
__declspec(dllimport) (which would suggest either using the wrong
version of <regex.h> or a need for a -D switch or #define).
AIUI, __declspec(dllimport) instructs the compiler to compile calls to
the function as an indirect function call, taking the address from the
__imp_* symbol in the program's import table. Import libraries provide
a normal function which just performs the indirect call.