Creating shared lib with Nim works fine in my end and the lib loaded no problems.
The code is same with what I wrote in C
# compile: nim c --app:lib test.nim
from os import sleep
proc test(): int {.cdecl, exportc, dynlib.} =
sleep 10000 # blocking
10
