On Saturday, 2 July 2022 at 01:05:25 UTC, Ali Çehreli wrote:

3) 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
// 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.

Reply via email to