Linking external functions?
DLearner
bmqazwsx123 at gmail.com
Tue Apr 18 19:49:04 UTC 2023
Wanted to try out linking two source files independantly compiled.
ExtCallee.d source file:
```
extern(C) void ExtCallee() {
import std.stdio;
writeln("Entered: ", __FUNCTION__);
writeln("Exiting: ", __FUNCTION__);
}
```
ExtMain.d source file:
```
void main() {
import std.stdio;
extern(C) void ExtCallee();
writeln("Entered: ", __FUNCTION__);
ExtCallee();
writeln("Exiting: ", __FUNCTION__);
}
```
Then:
```
dmd ExtCallee -c
```
which worked, producing .obj file.
However:
```
dmd ExtCallee.obj -run ExtMain
lld-link: error: undefined symbol: __D7ExtMain4mainFZ9ExtCalleeUZv
>>> referenced by ExtMain.obj:(__Dmain)
Error: linker exited with status 1
```
Ideas?
More information about the Digitalmars-d-learn
mailing list