Change the C++ standard for project
How do I change the C++ standard for a project? I right-click on the project and go to properties. Under the General tab the C++ Language Standard is set to inherited default C++ 14. I change it to C++17 and click OK. When I reopen the properties it is reset to being inherited. Inherited from where? How do I change this? Why does it let me select a different option if it isn't actually going to update it?
Please sign in to leave a comment.
Hello Cory,
If you are working with a generic C++ project (not related to Unreal Engine), you can use this property window. When you change the Standard version, please check if the change was properly reflected in your .vcxproj.
Unreal Engine projects use CppStandard property configured in
Build.cs
(it will look likeCppStandard = CppStandardVersion.Cpp17
in your case) to set the C++ standard version for a module. You can also set this property in yourBuildConfiguration.xml
if you prefer xml configuration.Hi Kirill,
This is a generic C++ project. This seems to be a general problem with updating the .vcxproj file/ changes in the editor not propagating to the file properly. The file seems to only update if I have the file open in the editor when I try to make changes to it. This behavior is related to the files and directories being removed from a project that I asked about two weeks ago. In both case the changes weren't getting added to the .vcxproj unless I had the file open in the editor. Then I could watch them get added, and after that the changes would remain in effect. I assume this isn't expected behavior, so I don't know what the problem is.
This solves my problem for now, but it's really just a symptom of something else not working.
Thanks for your help.
Hello Cory,
Indeed it looks like this issue has the same cause as your earlier request. I've posted an update that should help us get to the underlying problem. Please feel free to update this thread or the initial thread.
Let me know if you have any questions in the meantime.