On Wednesday, 2 December 2020 at 19:42:37 UTC, Jack wrote:
D code:

import core.sys.windows.dll;

mixin SimpleDllMain;

version(Windows) extern(C) export
int foo() { return 42; }

compiled with:
dmd -ofmydll.dll -shared -m32 dll.d

called from:

typedef int (__cdecl *MYPROC)(void);

int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
              PWSTR szCmdLine, int CmdShow)
{
   HINSTANCE hinstLib;
   MYPROC ProcAdd;
   BOOL fFreeResult, fRunTimeLinkSuccess = FALSE;

   // Get a handle to the DLL module.

   hinstLib = LoadLibrary(TEXT("mydll.dll"));


but hinstLib is NULL and GetLastError() = 193:

ERROR_BAD_EXE_FORMAT 193 (0xC1)
%1 is not a valid Win32 application.

What am I missing?

for same reason, the dll build with ldc2 works fine, compiled with:

ldc2 -shared dll.d -ofmydll.dll

what am I missing?

Reply via email to