Re: Linker can't resolve any references

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



23.6.2010 12:19, Bob Cowdery kirjoitti:

Kai Ruottu wrote:
23.6.2010 10:51, Kai Ruottu kirjoitti:

Bob Cowdery<bob@xxxxxxxxxxxxxxxxxxx>  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 would check the instructions for creating DLLs...

All good ideas but unfortunately the test I did used a standard 'Hello
World' exe into which I dragged in two static libraries. With no
references from my main code to the libraries it built and the size was
20k. If I then made a call to one of the libraries (call this libA)
where there were no other dependencies it again built and the size was
21k. If I then commented out the call to libA and made a call to the
second library (call this libB) the size was 30k but I got undefined
references for all the calls from libB to libA (from the size libA is
now not being linked in). If I kept in both the calls the size was 31k
and it built ok. Weird or what!

If I understood you right, you didn't use '-lA' for linking in 'libA.a'
although your 'libB.a' had calls to 'libA.a'. In that case the undefined
references to functions in 'libA.a' are fully normal and expected. In
this case the link command should have '-lB -lA', using '-lA -lB' would
not work. If 'libA.a' needs something from 'libB.a', then the link
command should have '-lB -lA -lB'. If the new link takes more functions
from 'libB' which need more functions from 'libA' then the link command
should have '-lB -lA -lB -lA'... And so on until all the undefined
symbols have been resolved...

So the case was about creating the DLL, not using it after it's
creation, I first saw the error coming from the next phase, that '-v'
caused two 'gcc' commands being seen :(


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux