I try to compile juce version 1.46 with VC++ 7.1. I converted the VC6 project to VC7 and compiled in debug configuration. I got "error C2883: ‘pnglibNamespace::free’ and same for malloc. These errors are conflicts of declaration. I commented out lines 50 and 51 of “juce_PNGLoader.cpp”
using ::malloc;
using ::free;
as described in topic “pnglibNamespace[fixed]”. This solved the problem.
After I compiled release configuration and had error C2668: ‘free’ ambiguous call in “juce_OggVorbisAudioFormat.cpp” when using “juce_ArrayAllocationBase.h” line 74
~ArrayAllocationBase() throw()
{
if (elements != 0)
juce_free (elements);
The compiler is hesitating between:
stdlib.h ‘void free(void *)’ and
malloc.h 'void OggVorbisNamespace::free(void *)'
I have not found a solution to solve that and I finally commented out #define JUCE_USE_OGGVORBIS, and had no problem up to now.
I will not use OggVorbis in short term, but I am interested if someone has a solution.