www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 23290] New: Interfacing to C++ mention C++ symbols may have


          Issue ID: 23290
           Summary: Interfacing to C++ mention C++ symbols may have been
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P1
         Component: dlang.org
          Assignee: nobody puremagic.com
          Reporter: alphaglosined gmail.com

When compiling against C++ object files, it is possible that the compiler has
stripped symbols out of the object file.

For instance, if you have the following code in a cpp file:

#include <iostream>
struct Foo
    void print()
        std::cout << "foo: " << a << ": hello from c++\n";

    int a;

And try to link against it when compiling with ``clang -c`` it will result in
the linker error: ``undefined reference to 'Foo::print()'``.

This is worth mentioning in the docs for Interfacing to C++ page as it could be
a gotcha that can lead to people spinning their wheels (it was encountered by
someone on Discord).

Aug 09 2022