[openal] Building with MinGW...?

Chris Robinson chris.kcat at gmail.com
Sat May 31 00:42:14 EDT 2014

On 05/30/2014 09:19 PM, Mark Sibly wrote:
> Thanks Chris, using mingw-w64 did the trick. I almost had it going with
> mingw-w32, but ran into dsound.h issues so gave up. mingw-w64 also fixed
> some problems I was having with missing c++11 std features...

Cool :)

> Quick question re: mingw-64 though: when I installed it, it had a combo box
> for 'architecture' - i686 or x86_64.
> What do they mean here exactly? Is this what the 64 compilers can 'build'
> for? I selected i686, so does that mean I'm running 64bit compilers that
> generate 32bit exes?
 > If so, I take it this is correct for OpenAL32?

i686 is for creating 32-bit libs and apps, and x86_64 is for creating 
64-bit libs and apps. Which one to use depends on what you're building 
for... 64-bit has some advantages with CPU capabilities and has a lot of 
address space, but requires a 64-bit OS. 32-bit is limited to a 4GB 
address space per process, but will run on 32-bit and 64-bit OSs (you'll 
also need to pass in extra cflags to properly enable SSE and such for 
the things you build).

OpenAL Soft will build as 32-bit or 64-bit, but it needs to be the same 
as the app it's used for (i.e. a 32-bit dll with a 32-bit exe, or a 
64-bit dll with a 64-bit exe; you can't use a 32-bit dll with a 64-bit 
exe or a 64-bit dll with a 32-bit exe even on a 64-bit OS).

Note that the 64-bit dll will be called OpenAL32.dll just like the 
32-bit dll, because that is what Creative used for its 64-bit drivers 
for some reason and OpenAL Soft follows that for compatibility purposes.

More information about the openal mailing list