VC 7 compiler warnings


#1

Hello Jules,

I’ve just updated my JUCE checkout after a few months and, trying to compile it, I’m getting more or less 150 of the following warning:

../core\juce_Atomic.h(210) : warning C4505: "juce::juce_MemoryBarrier": funzione locale senza riferimenti rimossa
Translation: “unreferenced local function has been removed”.

Then, compiling ‘juce_Expression.cpp’, I get:

Translation: “copy constructor could not be generated”.

Translation: “assignment operator could not be generated”.

Translation: “copy constructor could not be generated”.

Translation: “assignment operator could not be generated”.

Translation: “copy constructor could not be generated”.

Translation: “assignment operator could not be generated”.

Translation: “copy constructor could not be generated”.

Translation: “assignment operator could not be generated”.

Could you please have a look?

Thanks
Amedeo


#2

What compiler is this?


#3

Visual C++ 7.0 (.NET 2003)


#4

Thanks, I’ll tidy those up.


#5

Thanks, I just did a pull from the tip and those warnings are gone, altough now I get 152 warnings from the linker, like:

juce_RecentlyOpenedFilesList.obj : warning LNK4006: "void __cdecl juce::juce_MemoryBarrier(void)" (?juce_MemoryBarrier@juce@@YAXXZ) già definito in juce_UndoManager.obj; seconda definizione ignorata
Meaning: symbol already defined in object; second definition ignored.


#6

OMG those old microsoft compilers get on my nerves… Ok, I guess the juce_MemoryBarrier declaration just needs to be marked “inline”, I’ll do that when I get a moment.


#7

I’m sorry, I will try to switch to something more modern.


#8

Well, beware of the free version of Visual Studio 2010 - although it’s extremely good, they’ve deliberately removed a lot of basic functionality to try to force people to pay a ridiculous amount of money for the “pro” version. VS2008 is probably the best bet if you’re after a good free compiler.


#9

Oh great! I’ve just installed it and started to convert my projects…

I see they removed the resource editor, but this is not a problem using Juce. I can also get along without x64 output, but I cannot find the class browser, did they remove that too?


#10

Anyway, I switched to VC 2008 and indeed it seems, in the express version, a better choice. VC 2010 also looks a bit slower on my old home PC, probably due to the rewriting of the IDE in C#.