On Thursday, 16 April 2015 at 08:51:15 UTC, TheGag96 wrote:
Hi, I've got this project that requires me to link into a C++
backend. It works just fine when using GDC:
gdc *.d [client libraries]
However, this command using DMD does not work:
dmd -L-lstdc++ *.d [client libraries]
I still get errors involving the standard library not being
added
like:
/usr/include/c++/4.8/iostream:74: undefine reference to
`std::ios_base::Init::Init()'
(etc.)
What do I need to do to make this work? Thanks.
Simple issue but unpleasant fix. You always must use C++ library
that matches base C++ compiler. For GDC it is GCC (which is used
by default). For DMD it is DMC (Digital Mars C compiler). For LDC
it is whatever Clang standard library is called. All those are
incompatible because rely on different compiler built-ins.