我想对简单的c++程序使用崇高文本(2/3 3alpha),但我不能使用c++11,我试图更改构建文件,但是添加-std=c++11没有帮助。我确实安装了GCC4.8与macport(而且它的其他工作),但显然崇高的文本使用4.2变体。我该如何使它使用较新的?我试着谷歌搜索解决方案,但到目前为止还没有找到解决方案。感谢您的耐心!
发布于 2013-10-08 15:44:27
我认为您需要指定GCC 4.8可执行文件的绝对路径(因为g++可能只是你的系统上GCC 4.2的一个符号链接)。
下面是我的gcc-4.8.1 (发布版)。在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”中传递一个绝对路径。
发布于 2013-10-08 17:29:12
正如汤姆-克纳宁所建议的那样,解决办法是纳入新一代gcc的全部道路。在我的例子中,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++,
}https://stackoverflow.com/questions/19234983
复制相似问题