On Wednesday, 8 November 2017 at 07:06:39 UTC, Nicholas Wilson wrote:
On Wednesday, 8 November 2017 at 06:34:27 UTC, Andrew Edwards wrote:
I'm having a little bit of problem calling D code from C++ and would appreciate some assistance. First, given the following C++ program wich compiles, links, and runs without any problem:

Try using `nm` on the C++ object to find out what it thinks the mangling should be.
Check that against the mangling DMD produces.

Tried it, and it works.

Solution:

    nm dexample | grep foo -> returns the __C++__mangling

Use it to define the function as such:

    pragma(mangle, "__C++__mangling")
    extern (C++) void foo(const char* str) {
        // doing great things;
    }

Thank you so much.

-Andrew

Reply via email to