Linker can't resolve any references

Bob Cowdery bob@bobcowdery.plus.com
Wed Jun 23 08:21:00 GMT 2010


Ian Lance Taylor wrote:
> Bob Cowdery <bob@bobcowdery.plus.com> writes:
>
>   
>> This is such a basic problem I must be doing something daft. I have a
>> set of static libraries which I am linking into a dll. None of the
>> external references seem to be getting resolved. This is on Win7 and I
>> have MinGW and msys installed using the msys make. I am using Eclipse
>> CDT but get the same result from the command line. Here is the start of
>> the build to which I added the -v flag, but it still didn't help me. I
>> know this set of libraries builds into a shared library ok because I
>> have done so using Python distutils. However, this time its not Python
>> at the top end so I can't use that.
>>     
>
> The GNU linker used on MinGW is a Unix linker, and as such the order
> of the -l options is significant and for each -l option it only pulls
> in the objects required at that point in the link.  This is different
> from how Windows linkers behave.  You most likely need to repeat your
> -l options or use the --start-group/--end-group linker options.
>
> Ian
>   
I had read that and I was quite careful to ensure the correct order. I
did a test with just two libraries where the second referenced the first
and as in my follow-up message it didn't pull them in unless I made a
call into each from my main code. It's like the symbol tables are messed
up somehow.

Bob



More information about the Gcc-help mailing list