I want to enable -std=gnu++11
in Sublime Text 3's C++ Single File build on Ubuntu 12.04.
I have already upgraded the tool chain to the latest g++ and do not want to see the following error on every build:
error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
I browsed to /home/myuname/.config/sublime-text-3
but cannot find any file to edit.
How can I edit the build settings?
edited
My original answer works, but there's a much better way of doing this, by creating your own build system. This use case is exactly why the feature is there.
Go to Tools
→ Build System
→ New Build System…
(all the way at the bottom) and enter the contents below. Save as C++ 11 Single File.sublime-build
, and it will now be accessible in the build system menu. Select it, hit CtrlB to build, and then hit CtrlShiftB to run the resulting program.
{
"cmd": ["g++", "-std=gnu++11", "${file}", "-o", "${file_path}/${file_base_name}"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c, source.c++",
"variants":
[
{
"name": "Run",
"cmd": ["${file_path}/${file_base_name}"]
}
]
}
If you need to edit it in the future, the file is in the User
folder of Packages
:
~/.config/sublime-text-3/Packages
~/Library/Application Support/Sublime Text 3/Packages
C:\Users\YourUserName\AppData\Roaming\Sublime Text 3\Packages
InstallationFolder\Sublime Text 3\Data\Packages