Re: [pcre-dev] BAD name PCRE_STATIC

Page principale
Supprimer ce message
Auteur: Daniel Richard G.
Date:  
À: Robert Wishlaw
CC: pcre-dev
Sujet: Re: [pcre-dev] BAD name PCRE_STATIC
Hi Robert,

On Wed, 2007 Aug 22 03:10:59 -0700, Robert Wishlaw wrote:
>
> Well you know what that means ... I was presumptuous. As it turned out, I
> managed to compile the DLLs without error but they did not work correctly. I
> experienced problems similar to those described by Sheri.


Are you referring to the callout-function-crash problem, or just the issue
of missing _imp__* functions?

> As an exercise in understanding PCRE, I am going to redo the Win32 declspecs
> based on something like this
>
> #if defined (_WIN32)
> # if defined DLL
> # define DECLSPEC __declspec(dllexport)
> # else
> # define DECLSPEC __declspec(dllimport)
> # endif
> #endif


How does what you intend to do differ from what is already in place? I'm
assuming that you have more in mind than "DLL" versus "PCRE_STATIC".

Keep in mind that there are some unusual complexities in PCRE's
DLL-declspec business: libpcreposix and libpcrecpp are separate libraries
(and so separate DLLs) that make use of libpcre, yet they share some common
headers. Also, the convention that PCRE uses has to play well with other
libraries that may have DLL-related switches of their own.

> If I can get it to work correctly, I will let you know. It is not too
> different from what was in PCRE prior to version 7.1.


I suspect that the problem is not with the declspec directives, but with
the manner of building the library. Could you elaborate a bit on how you
are building PCRE?

Windows support, especially where DLLs are concerned, is rather thin in the
autotools-based build system (i.e. ./configure && make). It is, rather, the
CMake build system where that has been focused. You may want to give that a
try, and review the parallel thread where Sheri is doing the same.


--Daniel


-- 
NAME   = Daniel Richard G.       ##  Remember, skunks       _\|/_  meef?
EMAIL1 = skunk@???        ##  don't smell bad---    (/o|o\) /
EMAIL2 = skunk@???      ##  it's the people who   < (^),>
WWW    = http://www.******.org/  ##  annoy them that do!    /   \
--
(****** = site not yet online)