|
From: | Akim Demaille |
Subject: | Re: 2.2.7a: unresolved external symbol _lt_libltdlc_LTX_preloaded_symbols |
Date: | Thu, 27 Nov 2008 20:52:12 +0100 |
Le 27 nov. 08 à 19:41, Ralf Wildenhues a écrit :
First of all, it is my understanding (from what told my Matthieu) thatVC++ will not make dynamic libraries (*.lib) in addition to dlopen- modules (*.dll) unless there are dllexport requests.I'm afraid this is not quite correct, on a couple of accounts. On w32,shared libraries are *.dll (case-insensitively).
Yet, still according to our understanding, you can't link (at least using VC++) directly against a *.dll, you need a *.lib, which is merely a stub pointing to the *.dll.
Static libraries are *.lib if created by MSVC.
I am really referring to dynamic libraries here. But that may be what you mean below.
The patch I sent, because it uses dllexport, helps VC++ understand we want the *.lib in addition to the *.dll, which is what is needed afterwards by the example. Well, again, that's our understanding.
However, shared libraries typically *also*come with import libraries alongside of them, which are *.lib or *.dll.a(the latter is typical for using GCC in conjunction with MinGW, for example, not MSVC).On systems where shared libraries may not have undefined symbols (which includes w32), libtool will not create a shared libraries at -- mode=linktime unless you pass -no-undefined.dllexport requests are yet another matter. Let's not go into detail onthis right now.
Do you have any up-to-date and accurate reading to suggest?
[Prev in Thread] | Current Thread | [Next in Thread] |