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