I'm building an application with Nim and want to deploy it for Linux and Windows. For Windows it seems like Nim requires some DLLs in order to run a compiled exe and I was wondering which DLLs those were and if it makes sense to deploy all of them.
Files in https://nim-lang.org/download/dlls.zip
If I wanted to deploy for a 64 bit machine I'd use all the 64 DLLs, right?
For most Nim programs no DLL is required.
Ship DLLs for proper platform (probably just 64bit, 32bit windows is very rare) and only if you are:
if you use -d:ssl http library needed for https:// calls
if you import curl http library
I think if you import curses text terminal
I think if you import sqlite database
I think if you import pcre regex
Most people just need to ship DLLs that are required for -d:ssl. It just comes up a lot. We have written a library puppy to just use the system APIs instead. No DLL required.
If you use puppy for your https:// no DLL is required.
Another DLL people need is zlib, but again we also have zippy.
Just use zippy for your compression and again no DLL is required.
Another common DLL people need is glfw/sdl to open up window to do openGL, but we have windy it just uses the system APIs to do everything.
Just use windy for your windowing and again no DLL is required.
It's easy to ship without DLLs if you use the right libraries.