VS 2017: '/Ox' and '/RTC1' command-line options are incompatible


#1

I hope someone can help me with this.
Whenever I re-save a project in the Projucer, I get this error in the Release build and have to manually change the /RTCx setting…
I have not been able to Google for a reset flag that I could add to the Projucer exporters.
I also checked the .vcxproj files, but did not find any hint…
Is there a flag that I can add in the jucer file?
Thanks in advance!


#2

We don’t explicitly set the /RTC flag in the Projucer so it should be off by default. Can you reproduce this with the JUCE examples?


#3

Thanks for your reply Ed.
Same with the DemoRunner, the Release config also has /RCT1 in its settings.
Must be some default / or preference on my machine then…
I can live with it, after a Projucer export I will have to toggle it off in the 4 project settings of my solution.
Cheers


#4

Yeah it seems so, I can’t see the /RTC flag on any of the JUCE projects on my machine running VS2017 on Windows 10. If you open up the property pages of your project and navigate to Configuration Properties -> C/C++ -> Code Generation what are the values of the “Smaller Type Check” and “Basic Runtime Checks” properties?


#5

In Release mode, Smaller Type Check is No and Basic Runtime Checks is: “Both (/RTC1, equiv. to /RTCsu) (/RTC1)” - which stops the build, because of the conflict with /Ox
Essentially the same settings as for the Debug configuration.
What do you see for the Basic Runtime Checks?

Anyway, it’s not a big problem :wink: I was just hoping I wasn’t the only one with this…


#6

Hi @ed95 - I think I found it!
You can also change settings for All Configurations… (a bit hidden!) If I set it to Default there, then it no longer reappears in the Release configuration :slight_smile: