Ubuntu dmd 2.065 amd64 linkage problem.
Carl Sturtivant
sturtivant at gmail.com
Sun Mar 16 09:30:29 PDT 2014
> DMD started to support shared lib on linux from 2.063.
> This may be useful: http://dlang.org/dll-linux.html
> Also note that if you are only writting the shared lib and not
> the client, it would be easyier to bootstrap it using gcc's
> attributes (see
> http://stackoverflow.com/questions/9759880/automatically-executed-functions-when-loading-shared-libraries
> ).
> Else, there is a Runtime.loadLibrary (which will be improved
> later), to load and start a D shared library (if you just
> dlopen, static ctor & stuff won't be initialized).
Thanks, I guess I will have to go that route as my old trickery
no longer works; I am building the client, so I'll now use
Runtime.loadLibrary. However, http://dlang.org/dll-linux.html
says I must link to libphobos.so and not libphobos.a suggesting
that my old trickery could work as before by putting libphobos.a
in its entirety into the client and none of it in a dynamic
library. Yet it does not, as revealed immediately by the client's
file size. Which suggests that http://dlang.org/dll-linux.html is
out of date.
Can anyone tell me if http://dlang.org/dll-linux.html correct for
2.065 ?
All of this was a lot easier on Windows, where I was able to make
everything work with no significant trouble.
More information about the Digitalmars-d-learn
mailing list