binding to C++
Oleksii via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Tue May 30 01:46:32 PDT 2017
On Friday, 26 May 2017 at 15:17:08 UTC, drug wrote:
> Trying to bind to cpp code I stop at some moment having
> undefined reference to some cpp function. But objdump -Ct
> cpplibrary.so shows me that this cpp function exists in the
> library. linker message about cpp function is _identical_ to
> objdump message so I don't know where is the difference. For
> example linker says:
> `undefined reference to
> `Namespace::StructName::method_name(Namespace::Otherstruct
> const*)`
> And ojbdump called by command:
> ```
> objdump -Ct libLibrary.so | method_name
> ```
> shows the following:
> ```
> 0000000000026ed0 w F .text 0000000000000025
> Namespace::StructName::method_name(Namespace::Otherstruct
> const*)
> ```
> That is two outputs are identical.
> Could someone help what to do to investigate the problem?
> Thanks in advance
If you were compiling C++ code, you could get such error if
method_name was declared const in the library, and you tried to
link it as non-const.
== Library ==
struct StructName { void method_name(...) const { ... } };
== Your Code ==
struct StructName { void method_name(...); /* NOTE: no const here
*/ };
Don't know if that is the issue in your case.
More information about the Digitalmars-d-learn
mailing list