在 Mac 上使用 gcc4.8 制作 Sublime 文本

Make Sublime Text use gcc4.8 on Mac

本文关键字:制作 Sublime 文本 gcc4 Mac      更新时间:2023-10-16

我想将Sublime Text(2/3alpha(用于简单的c ++程序,但我不能使用c ++ 11。我尝试更改构建文件,但添加 -std=c++11 无济于事。我确实安装了带有macports的GCC4.8(否则它可以工作(,但显然崇高的文本使用的是4.2变体。如何使其使用较新的?我尝试在谷歌上搜索解决方案,但到目前为止还没有找到。感谢您的耐心等待!

我认为您需要指定GCC 4.8可执行文件的绝对路径(因为g ++可能只是系统上GCC 4.2的符号链接(。

这是我在 Ubuntu 上的 gcc-4.8.1 (Release(.sublime-build

{
    "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"中传递绝对路径。

正如Tom Knapen所建议的那样,解决方案是包含较新的gcc的完整路径。就我而言,对于macports gcc,这是:

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

所以崇高的构建看起来像这样:

{
    "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++,
}