Log in

View Full Version : Building libsndfile Dll on windows


minaust
28th February 2016, 12:27
Anybody know how build libsndfile DLL on Windows?

Suppjosedly it can;t be done in Visual Studio, which doesn't support C99. Can it be built with Mingw?

Lord Mulder has a project on GitHub that builds a static library, but as my knowledge of modifying/creating all but the simplest of build environments is minimal. Anybody done it?

filler56789
28th February 2016, 15:17
Yes, it can (or could, at least) be built with MinGW-w64.

But now I don't remember all the gory details...

IIRC, I managed to build a minimally-functional DLL, and it was only because twolame depended /depends on that pesky file.

I used GCC 3.5.2, so it happened a long time ago.
Things may have changed for (much) worse since then, of course.

minaust
28th February 2016, 18:14
Yes, it can (or could, at least) be built with MinGW-w64.

But now I don't remember all the gory details...

IIRC, I managed to build a minimally-functional DLL, and it was only because twolame depended /depends on that pesky file.

I used GCC 3.5.2, so it happened a long time ago.
Things may have changed for (much) worse since then, of course.

I just want a modern libsndfile compiled with a recent flac library. What I've got now is compiled with flac 1.2.0. Old and slow.

LoRd_MuldeR
28th February 2016, 20:23
You can build libsndfile as DLL with GCC/MinGW easily. That's how the official release DLL's are made. The resulting DLL will work with MSVC-compiled programs too.

Things get more complicated, if you which to link libsndfile statically. MSVC doesn't link the static lib produced by GCC/MinGW (at least I gave up on that route), which is why I created an MSVC project for exactly that purpose.

minaust
29th February 2016, 01:47
You can build libsndfile as DLL with GCC/MinGW easily. That's how the official release DLL's are made. The resulting DLL will work with MSVC-compiled programs too..

What steps do I need to take in order to accomplish this?

LoRd_MuldeR
29th February 2016, 20:20
What steps do I need to take in order to accomplish this?

Nothing special, just the standard ./configure and make gets the job done for me. I used Mingw32 from MSYS2.