Re: Problems with linker (ld)
Re: Problems with linker (ld)
- Subject: Re: Problems with linker (ld)
- From: "Fabrizio Bertocci" <email@hidden>
- Date: Wed, 4 Jun 2008 12:16:20 -0700
Well,
Unfortunately that is not the problem... because the error I get are
about some unresolved externals, and not library not found (that is
the error you get when the linker can't find the right library).
Interesting enough, when I try with a small library (typical hello
world-style), everything works, but not with the xmlrpc-c library...
I will continue investigating this issue...
F
On Wed, Jun 4, 2008 at 7:11 AM, Jean-Daniel Dupas
<email@hidden> wrote:
> is /usr/loca/lib in your library search path in Xcode target build settings
> ?
>
> I don't think it is part of the default search path.
>
>
>
> Le 4 juin 08 à 14:58, Fabrizio Bertocci a écrit :
>
>> I'm having a weird problem with the linker I cannot explain. Before
>> filing it as a possible bug, I'd like to have your opinion on that.
>>
>> Brief description:
>> I'm building an executable (command-line) that requires some external
>> libraries.
>> Let's say I need to link (statically) with:
>> /usr/local/lib/libfoo.a
>> /usr/local/lib/libbar.a
>> /usr/local/lib/libfoo++.a
>> /usr/local/lib/libbar++.a
>>
>> When I add those libraries to my Xcode project, Xcode end up passing
>> them to the link phase using the -l<lib> form:
>> -lfoo -lbar -lfoo++ -lbar++
>>
>> Unfortunately, the link phase reports a bunch of unresolved symbols.
>>
>> If I invoke by hand ld by specifying the static libs directly as input
>> files instead of libraries everything works fine:
>> ld ... /usr/local/lib/libfoo.a /usr/locallib/libbar.a
>> /usr/local/lib/libfoo++.a /usr/local/lib/libbar++.a
>>
>> Interested?
>> If you want to reproduce it, download the xmlrpc-c library from
>> Sourceforge
>> (xmlrpc-c.sourceforge.net), build it and install it under /usr/local
>> and try to build one of the example first using the form that uses the
>> -l<lib> flag, and then with the other form.
>>
>> In my case I also discovered that ONLY ONE library needs to be listed
>> using /usr/local/lib/<blah>.a...
>>
>> To be more specific, this is *NOT* working:
>> ld <...> -lxmlrpc++ -lxmlrpc_server_abyss++ -lxmlrpc_server++
>> -lxmlrpc_server_abyss -lxmlrpc_server -lxmlrpc_abyss -lxmlrpc_util
>> -lxmlrpc_xmlparse -lxmlrpc_xmltok -lxmlrpc
>>
>> and this IS WORKING:
>> -lxmlrpc++ -lxmlrpc_server_abyss++ -lxmlrpc_server++
>> -lxmlrpc_server_abyss -lxmlrpc_server -lxmlrpc_abyss -lxmlrpc_util
>> -lxmlrpc_xmlparse -lxmlrpc_xmltok /usr/local/lib/libxmlrpc.a
>>
>> Weird isn't it?
>> Am I missing something?
>> Is it really a bug ?
>>
>> Thanks for your opinion.
>> Fab
>>
>
>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden