I recently updated to Juce 5.4.4 and completed the changes for the deprecation of ScopedPointer but found I was still getting errors on juce_File.cpp, juce_AudioFormatManager.cpp and several other juce files. I wasn’t sure if there were still problems with my app so I created a new test audio app project and ended up getting the same errors. I’m still using VS15 but tried it with V17 and VS19 Community editions and got the same results (this is a Windows 10 machine).
The errors each generate several entries but this is the group for the juce_File.cpp file in VS19 Community: (I’ve removed my paths)
C:..\juce_File.cpp(710,1): error C2556: ‘juce::FileInputStream *juce::File::createInputStream(void) const’: overloaded function differs only by return type from ‘std::unique_ptr<juce::FileInputStream,std::default_delete<_Ty>> juce::File::createInputStream(void) const’
1>C:..\juce_File.cpp(710,1): error C2556: with
1>C:..\juce_File.cpp(710,1): error C2556: [
1>C:..\juce_File.cpp(710,1): error C2556: _Ty=juce::FileInputStream
1>C:..\juce_File.cpp(710,1): error C2556: ] (compiling source file …..\JuceLibraryCode\include_juce_core.cpp)
1>C:..\juce_File.h(625): message : see declaration of ‘juce::File::createInputStream’ (compiling source file …..\JuceLibraryCode\include_juce_core.cpp)
1>C:..\juce_File.cpp(710,1): error C2040: ‘juce::File::createInputStream’: ‘juce::FileInputStream *(void) const’ differs in levels of indirection from ‘std::unique_ptr<juce::FileInputStream,std::default_delete<_Ty>> (void) const’
1>C:..\juce_core\files\juce_File.cpp(710,1): error C2040: with
1>C:..\juce_File.cpp(710,1): error C2040: [
1>C:..\juce_File.cpp(710,1): error C2040: _Ty=juce::FileInputStream
1>C:..\juce_File.cpp(710,1): error C2040: ] (compiling source file …..\JuceLibraryCode\include_juce_core.cpp)
I update my mac and ran the same test (creating a test audio app) and got no errors so it may only be Windows (I didn’t check Linux or Android).