On Saturday, 2 July 2022 at 01:05:25 UTC, Ali Çehreli wrote:
>
- The users of this dll should import that .di file (declaring the functions themselves won't work):
Ali
Hi, Thanks for the reply. I have tried your suggestion. First, I compiled my dll's source code with -H
switch as you said. Then I got the header file with this content.
// D import file generated from dimedll.d
module dimedll;
import core.sys.windows.windows;
import core.sys.windows.dll;
import std.stdio;
mixin SimpleDllMain!();
export void testFunc();
So far so good. Then I change my dime.d
source file like this.
```d
import dimedll;
void main() {
log("Lets build our own ime");
testFunc();
}
```
Unfortunately, I got this error message.
dime.obj : error LNK2019: unresolved external symbol __imp___D7dimedll8testFuncFZv referenced in function __Dmain
dime.obj : error LNK2001: unresolved external symbol __D7dimedll12__ModuleInfoZ
dime.exe : fatal error LNK1120: 2 unresolved externals
Error: linker exited with status 1120
Then I have tested with dimedll.testFunc()
instead of testFunc()
at the calling site.
Then also I got an error message like this.
dime.obj : error LNK2019: unresolved external symbol __imp___D7dimedll8testFuncFZv referenced in function __Dmain
dime.obj : error LNK2001: unresolved external symbol __D7dimedll12__ModuleInfoZ
dime.exe : fatal error LNK1120: 2 unresolved externals
Error: linker exited with status 1120
I want to test this with ddemangle.exe, but there is no proper documentation for that tool. So I don't know how to use that tool. So Actually I am stuck.