On Saturday, 19 March 2016 at 10:52:35 UTC, Johan Engelen wrote:
On Saturday, 19 March 2016 at 08:10:41 UTC, Johan Engelen wrote:
On Friday, 18 March 2016 at 20:47:41 UTC, Walter Bright wrote:
On 3/18/2016 6:59 AM, Johan Engelen wrote:
It'd be nice to be able to call `dmd -ldflags` whose output
would be the
standard linker flags.
dmd -v file.d
will tell you what command is sent to the linker.
That linker command does not include the path to phobos.
You would have to parse the output, etc...
Would you accept a PR that adds `dmd -ldflags` ?
For C++/D linking, I used the C++ linker for LDC (master), but
now I am changing it to using the D compiler with "-L-lstdc++"
to link. It solves the issue of finding the location of
phobos/druntime (different for dmd and ldc) and other required
libs for D code. It also solves a Windows-specific linking
problem when main() is in C++ code [1].
Unfortunately, this was not true. If your D code does not have
main(), linking does no work with DMD on Windows: phobos is not
linked when there is no main(). Note that "phobos" also contains
druntime and so a D source file with only "void foo() {}" does
not link, and results in unresolved external symbol _d_assert
among others.
This is giving me a major headache at the moment while trying to
change LDC's build.
(on Linux and Mac, it turns out things are easier)