Заставьте Sublime Text использовать gcc4.8 на Mac

Я хочу использовать Sublime Text (2 / 3alpha) для простых программ на c ++, но я не могу использовать c ++ 11. Я попытался изменить файл сборки, но добавление -std = c ++ 11 не помогает. У меня есть GCC4.8, установленный с macports (и он работает иначе), но, очевидно, возвышенный текст использует вариант 4.2. Как мне сделать так, чтобы он использовал более новый? Я попробовал поискать решение, но пока не нашел. Спасибо за ваше терпение!

1

Решение

Я думаю, вам нужно указать абсолютный путь к вашему исполняемому файлу GCC 4.8 (поскольку g ++, вероятно, просто символическая ссылка на GCC 4.2 в вашей системе).

Вот мой gcc-4.8.1 (Release) .sublime-build на Ubuntu:

{
"cmd": ["/opt/gcc-4.8.1/bin/g++", "${file}", "-o", "${file_path}/${file_base_name}", "-std=c++11", "-Wall", "-O3"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c, source.c++, source.cxx",

"variants":
[
{
"name": "Run",
"cmd": ["bash", "-c", "${file_path}/${file_base_name}"]
}
]
}

Обратите внимание, что я передаю абсолютный путь в «cmd».

3

Другие решения

Как предположил Том Кнапен, решение состоит в том, чтобы включить полный путь более новой версии gcc. В моем случае с macports gcc это было:

/opt/local/bin/g++-mp-4.8

Итак, sublime-build выглядит так:

{
"cmd": ["/opt/local/bin/g++-mp-4.8", "${file}", "-o", "${file_path}/${file_base_name}", "-std=c++11", "-Wall", "-O2"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c, source.c++,
}
0

По вопросам рекламы [email protected]