Why I have to set CLR


#1

Did anyone here encounter this compiling error:
assembly access specifiers are only available in code compiled with a /clr option

My application class derived from JUCEApplication cannot be compiled unless I set “Common Language Runtime Support (/clr)” in project settings. Although the EXE can run but it’s still strange and there’s some wrong, because JuceDemo doesn’t have /clr settings.

Thanks in advance!


#2

Well, answered by myself.
I put a “public” before a class name like this: public ClassA : public ClassB {}. VC compiler takes ClassA as a C# class and forces the project to be set with /clr.


#3

[quote=“flower4wine”]Well, answered by myself.
I put a “public” before a class name like this: public ClassA : public ClassB {}. VC compiler takes ClassA as a C# class and forces the project to be set with /clr.[/quote]

Indeed, modifiers are not allowed before class keyword.