Parallel 32 and 64 bit development


It’s great to see 64 bit support added to JUCE.

It would be convenient if the 32 bit and 64 bit object files and libraries could be separated somehow. One easy way to do this would be to change the “Intermediate Directory” project setting in Visual Studio to this:


$(PlatformName) resolves to “Win32” for 32 bit builds, so that wouldn’t break anyone’s project.

For simplicity, you could also change the other directories to $(IntDir) (in the Output Files category).

It would also be good if the 64 bit JUCE library could have a different name or be in another folder.



Ok, I’ve no objections to those very sensible suggestions!

Not sure how I’d change the name of the library for the 64-bit build though, as it’s really just the same project for both.


I can think of two solutions, but they may require people to change their project settings.

You could use $(PlatformName) to create different folders for the library to end up in.

Or, you could put the $(PlatformName) in the name of the library - then you’d have something like jucelib_static_Win32.lib and jucelib_static_x64.lib.

For either solution, you could use #ifdef _WIN64 in juce.h to auto-link the appropriate library.

Overall, I’d say I like the second solution.



Right, I’ll do something along those lines…