I’ve got a slightly weird problem trying to link a minimal set of MKL libs for the juce::dsp::FFT on Windows and the PJ seems to be producing an incorrect output.
I add the following on separate lines:
This then gets generated in to VS property sheet as follows, note the
%3b which seems to be evaluated correctly:
But then I get the following link error:
However, if I manually edit the VS property sheet to replace the
; characters it links ok.
Is it possible to generate unescaped
; characters? Or is there another way to specify multiple libraries?
I remember why we haven’t run in to this problem before (which seemed odd as we link to a bunch of libs). I think doing this code works:
#if JUCE_WINDOWS && JUCE_DSP_USE_INTEL_MKL
#pragma comment (lib, "mkl_cdft_core.lib")
#pragma comment (lib, "mkl_core.lib")
#pragma comment (lib, "mkl_rt.lib")
This looks like an escaping bug in Projucer. However, I just tried to reproduce the problem with develop, 6.1.0, and 6.1.2 and wasn’t able to. In all cases, the project file contains the libraries separated by semicolons. Please could you let me know which commit you’re currently using, so that I can repro the problem and ensure that it’s fixed on develop?
I’ll be honest, I can’t remember which exact commit it’s from. I work on about 20 different projects sharing at lest 6 different versions of JUCE and it’s kind of hard to rebuild the PJ every time I change project as I often have multiple projects open at once.
For this reason I’m trying to transition to CMake but it’s hard building with so many 3rd party modules as they’ll all need CMake support and it takes time to transition all the CI etc. and then check it all works the same.
I’m also running the PJ on my Mac, from a PJ file on an attached Windows VM and then trying to build the VS project in the VM. I can’t see ay reason why that wouldn’t work but it could be a confounding factor.
To finish up I’ve had to move on from this as I’ve discovered Azure Pipelines doesn’t pull in GitLFS files which we need as the MKL core lib is ~500MB. Without this working I can’t use it so I’m now trying the IPP libraries which I’m having completely different issues with…
If you get a chance, might you be able to test with the very latest Projucer from the develop branch? I’m pretty sure that the issue has been resolved on develop, but as I can’t repro here it would be good if you could confirm.
If it’s still an issue for you on develop, then I’ll investigate further. Thanks!