According to the doc of Neo for Nim on Github, the option.
--define:blas=openblas
makes it possible to use the open openblas lib instead of the blas dll.
I'm using Mingw 64, with:
https://packages.msys2.org/package/mingw-w64-x86_64-openblas
pacman -S mingw-w64-x86_64-openblas
but now I get :
./nim_neo_linear_algebra.exe
"could not load: openblas.dll"
and yet openblas is installed on my Mingw 64 system:
$ find /* -name "*blas*"
/mingw64/bin/libopenblas.dll
/mingw64/include/OpenBLAS/cblas.h
/mingw64/include/OpenBLAS/f77blas.h
/mingw64/include/OpenBLAS/openblas_config.h
/mingw64/lib/cmake/openblas
/mingw64/lib/libopenblas.a
/mingw64/lib/libopenblas.dll.a
/mingw64/lib/pkgconfig/openblas.pc
What could be missing?
PS: I have also since tried (unsuccessfully):
nim c --clibdir:/mingw64/lib/libopenblas.dll.a --define:blas=openblas nim_neo_linear_algebra.nim
BLAS on windows is a huge pain, and for Arraymancer as well.
By the way, I think on loading a DLL, Windows doesn't automatically prefix them with "lib" so you might need to --define:blas=openblas.
It actually works!
nim c -d:blas=libopenblas nim_neo_linear_algebra.nim
it compiles and runs and uses the openblas lib installed by "pacman" under Mingw64 on Widows.
That's really cool!