Symbols missing from static library
Robert Dailey
rcdailey at gmail.com
Mon Sep 14 10:56:29 EDT 2009
On Mon, Sep 14, 2009 at 9:50 AM, Robert Dailey <rcdailey at gmail.com> wrote:
> On Mon, Sep 14, 2009 at 3:16 AM, Joe Orton <joe at manyfish.co.uk> wrote:
>
>> On Mon, Sep 14, 2009 at 01:04:29AM -0500, Robert Dailey wrote:
>> > On Sun, Sep 13, 2009 at 10:52 PM, Robert Dailey <rcdailey at gmail.com>
>> wrote:
>> > Warning 2 warning LNK4217: locally defined symbol
>> _XML_GetCurrentLineNumber
>> > imported in function _ne_xml_currentline libneon.lib subversion
>> ...
>>
>> I don't know what these warnings mean, sorry.
>>
>
> They mean that the Neon library is trying to dynamically import the expat
> symbols. In other words, I built expat statically and neon is not trying to
> link to it statically (neon thinks it is linking against a DLL). Not sure
> how to fix this just yet. There are probably some preprocessor definitions
> that need to be set in the neon build system, but I do not have the time nor
> the means to fix the neon build system myself. I'm ALREADY maintaining a
> CMake build script for expat since I cannot build it from the command line
> hands-free without it (I do not have VC6 installed on my system, and VS9
> cannot convert dsw projects from the command line.
>
>
>> > Error 13 error LNK2019: unresolved external symbol _inet_aton referenced
>> in
>> > function _ne_iaddr_parse libneon.lib subversion
>> > Error 14 error LNK2019: unresolved external symbol __imp__XML_StopParser
>> > referenced in function _entity_declaration libneon.lib subversion
>>
>> Hmmm, I guess you're now using neon 0.29.0 rather than 0.28.6? What
>> version of expat are you using? Can you check whether it has an
>> XML_StopParser() function?
>>
>
> Yes, I am using Neon 0.29. I'm using expat version 2.0.1. Keep in mind that
> I am not using the win32 installer, I'm using the tarball to build it myself
> on Windows. Inside of xmlparse.c, there is indeed an XML_StopParser()
> function.
>
>
>> It looks like inet_aton() isn't available on Windows - could you try
>> this patch?
>>
>
> Could you please put the patch in a file and attach it? Thanks.
>
Now that I think about it, if I could somehow get libneon to use the
following macro definitions:
_LIB
COMPILED_FROM_DSP
This would fix the problem more than likely. The above macros are defined
when building expat statically (Not the DLL). Of course, this means neon.mak
would need to take a flat like EXPAT_STATIC=1 for a static build, in which
case the above 2 macros would be defined. If EXPAT_STATIC=0 or if it is left
out (default), then the above 2 macros would NOT be defined and it would
link against expat's import library instead.
This sounds reasonable. I'd do this myself if I had any idea how to do it.
But it's a simple change, it shouldn't take you long at all.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.manyfish.co.uk/pipermail/neon/attachments/20090914/a1759ae3/attachment.html
More information about the neon
mailing list