Same with the 32-bit builds, debug is fine, release is problematic. Can’t see anything obvious.
Also wondering whether all the output directories should have an x64 in the path for the 64-bit builds?
the projucer options are the same… or are you talking options elsewhere?
I’ve compared the debug and release link options in visual studio and they’re identical, apart from where you’d expect them to be different.
the only real difference is that I’m linking in an additional external library, but I can’t see why that would affect release and not debug?
I’m also confused as to the 1104 error as to whether it’s the output that it can’t write or whether it’s input it can’t find - any ideas?
Where is the external library from? Are you linking to a debug version of the library in both cases, rather than a debug and release library respectively?
You’ll need to match the Windows runtime library settings of the static library and your plug-in, and there are four variants: Static (MT), Static debug (MTd), dynamic/DLL (MD) and dynamic/DLL debug (MDd).
It’s my own library, built as a Juce static library. All the settings match…
Just to point out that before switching to the develop branch and using the new build system this build worked fine on debug and release, with the same setup of a static library being linked into the audio plugin, so from my point of view this is a side effect of this new build system.
Is there any way to disable this or would I need to go back to the master branch and rebuild everything?
I’ve just gone and deleted the library from the disk and gone to build the debug - as expected I get a library missing error. With the release build, I get the link1104 error suggesting that this actually might be a problem opening the output file for some reason, as the error is happening before it’s pulling the additional libraries in?
I’ve done a complete clean of the build directories and done a rebuild - the output directory is populated with files as expected, but not the output .dll.
As an aside, should all the output paths for 64-bit have x64 added to them as at the moment the paths for 64-bit and 32-bit are the same…
Are you sure your Projucer options are the same as the audio plug-in demo? By default you should have an x64 directory, and I get one when I build the demo plug-in. If you’ve set your build intermediates paths or your binary location to something different then that might narrow down the problem a little.
ok, so part of my issue was caused by running an old Projucer - between the change of directory to the app output directory and the bug where x64 wasn’t added to the path, my link was to an old Projucer that wasn’t getting updated when I rebuilt. Cleaned all this down and now getting the x64 as expected…
I’ve noticed that the 32-bit stuff now has Win32 in the output targets - is there any reason for this as it’s not standard VS naming…??
So, 64-bit release is good now, just need to sort the 32-bit out
I’ve just tried this on another project which I haven’t touched since moving to the develop branch and new builds and having the same issue on 32-bit release… other builds are fine
Are you seeing the same error - that the library that you’re attempting to link with cannot be opened? Have you tried deleting the Builds directory and having a new Projucer build recreate it when you save the project?