32-bit plugin builds fine but does not run

windows

#1

Hi!

I’ve created a plugin that works and compiles fine in Windows 7 and Mac OS el capitan, VST&AU, 64 and 32 bits excluding the windows 32-bit VST. 32-bit WIN VST builds fine, and it even runs fine on 64-bit windows on 32-bit host software. But when trying windows 7 32-bit, it won’t work. This has been tested on couple of computers.

I use Windows 8.1 64bit and VS2015 Community. I’ve tried different C++ standards and basicly every option Juce let’s to change and some within VS… no success.

Which prerequisites does JUCE 5.1.2 builded plugins have to run successfully on clean windows 7 32-bit home? I’ve got MS 2008-2017 C++ Redistros installed and the host software Reaper.

This might be too vague but any ideas?? :slight_smile:


#2

Ok, it’s a very large dll (over 1 GB of binaryfiles…) and I removed most of them and now it worked somewhat. I managed to load it up on Fruity Loops but first it showed Unknown type of plugin (either effect or Synth) But after rescanning it finally verified. I’m not sure if it’s just a cached FL behaviour or an indicator of something…

But on Reaper it did not load. The size shouldn’t be the issue anymore since there’s even larger 32bit VST that works ok.


#3

Well, if it loads your DLL at all, you can attach your debugger and see what happens.

If the host doesn’t load your DLL at all, then it’s either deciding not to do it, or not having enough contiguous memory to do it, but there’s nothing we can do about that, I’m afraid.


#4

Thanks, I’ll have to try debugging… At least it tries to load it… for that I’ll need to install VS for the 32-bit windows, so I guess might as well try compiling the project there and see what happens. :slight_smile:


#5

Ok, I found out it is actually dll size-related issue. For example I removed samples so that the final dll would be ~560MB and it ran fine on 32-bit system.

Does anyone know what’s the size limit for dll to run on 32-bit? I though it’d be 2GB of RAM for a single program allocation in 32-bit system, but it seems like 1,2GB dll is too much. Is it because it’s a dll? Or, does it “attach” to the host, and thus might exceed the 2GB limit overall with the host? Reaper doesn’t use that much RAM tho.

Would it run better if the samples would be a separate package from the dll, that the dll would load when ran? All the samples are needed to be present in memory simultaneously.

In the end I guess it’s not that big of an issue since probably everyone doing music with a computer these days has a 64-bit system… But any wisdom about the issue comes in handy. :slight_smile:


#6

It’s all inclusive… you’re running beyond the Ram limitation… did you compile with /LARGEADDRESSAWARE ?

Rail


#7

Hi!

Thanks! I didn’t compile with it, never knew you can do that but thanks, I’ll try it! :blush:


#8

Hmm /LARGEADDRESSAWARE was on for 32-bit build too by default from juce… No help.