Hello,
I see some examples on the internet on how to call C(++) in D. But I want to do it the other way around. Because of (probably) linkage issues, this way seems easier. I have this D code:
import std.stdio;
int maint() {
writeln("Returning some random stuff...");
return 10;
}
extern (C++) int foo() {
return maint();
}
And this CPP source file:
#include <iostream>
int main() {
std::cout << "deede" << foo() << std::endl;
}
This is some gibberish, but the point is that foo needs to be called from the D source file.
In Bash I compile it and get a response:
$ g++ ../build/libshared-api.so main.cpp
main.cpp: In function ‘int main()’:
main.cpp:4:27: error: ‘foo’ was not declared in this scope
4 | std::cout << "deede" << foo() << std::endl;
|
Apparently foo isn't found from the CPP source file. Anyone some ideas on how to solve this? :)