It's normal, if you compile the DLL with `--noMain` then the function DllMain() is not created and the Nim system is not initializated calling NimMain() in DllMain() and the app crashes.
If you compile the DLL **without** `--noMain` it generates this initialization code and NimMain() is called when the OS calls DllMain(): BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fwdreason, LPVOID lpvReserved) { if(fwdreason == DLL_PROCESS_ATTACH) { NimMain(); } return 1; } Run