Actually, the more I look at it, I realize it was correct before

We want to link against readline.lib and history.lib, but the ones in
the GnuWin32 distribution are broken.
The .lib files are made from the .def files, which are supposed to list
the exports, but don't.

They can be made from commands like this:

lib /machine:i386 /def:readline.def
lib /machine:i386 /def:history.def

But that only works if the .def files list the routines you want

It's easy enough to add the few we use by hand, but I'm not sure why
they aren't there.
Adding them, running those lib commands, allowed me to link with no
errors or warnings.

Maybe I need to do some research on readline... this seems more
complicated than I expected.
Does no one else use readline on Windows?  Is the Gnuwin32 readline a
fraud?  I just don't know.

> -----Original Message-----
> From: Chuck McDevitt
> Sent: Monday, September 24, 2007 2:17 PM
> To: Magnus Hagander
> Cc:
> Subject: RE: [HACKERS] Suggestion for MSVC build
> The right lib files to link readline are the .a ones...
> Like this:
> if ($solution->{options}->{readline})
>     {
>               $psql->AddIncludeDir($solution->{options}->{readline} .
> '\include');
>               $psql->AddLibrary($solution->{options}->{readline} .
> '\lib\libreadline.dll.a');
>               $psql->AddLibrary($solution->{options}->{readline} .
> '\lib\libhistory.dll.a');
>     }

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to