DIP45: fixing the dllimport/dllexport issue
deadalnix
deadalnix at gmail.com
Sat Sep 7 21:19:10 PDT 2013
On Saturday, 7 September 2013 at 21:41:01 UTC, Benjamin Thaut
wrote:
> I don't agree if that statement. If you have three libs. lib1,
> lib2 and lib3. And lib2 and lib3 link statically against lib1
> you are going to get linker errors because both lib2 and lib3
> contain the symbols of lib1. And you don't have any options to
> avoid that (unless you got into the source of lib1 and remove
> all export attributes, which might not even be possible because
> you don't have the source)
And you should have an error, especially is you pass object from
one side to the other.
typeid won't match (which will create a mess in the runtime), and
worse, struct layout may not match (hello memory corruption).
If the problem is that big, we can still have a -noexport flag or
something, but that doesn't seems really safe to me.
More information about the Digitalmars-d
mailing list