Sublime Text 3在Windows下配置C++环境

       之前用codeblocks写c++,感觉c++语法很麻烦而且codeblocks界面和字体又不好看,所以一直不喜欢用c++写代码。最近感觉很有必要转一下c++,就在网上找更好看的编辑器,无奈vim和emacs上手都很慢,就找到了sublime text,感觉界面字体真的很棒棒啊,就愉快地决定以后用它写c++了。

       sublime text给用户留下了很大的配置空间,c/c++的代码在windows下编译运行需要调用的外部命令,可以理解为执行一段cmd命令,这个是通过build配置文件实现的。编辑器自带了一个叫c++ single file的build文件,但是它是不支持标准输入的,所以我们需要自己写一个配置文件。网上关于这个有很多的博客,但很多都是只给出了一段代码让粘上,我一开始试了很多都会报错,没办法只好学习一下自己写一个喽。由于我太辣鸡,之前很少研究配置文件、脚本、cmd命令这些东西,所以这个过程摸索了很久才真正搞清楚。这里想写一篇真正详细的配置方案。

       下面的内容是我在windows下配置的,linux的配置文件应该是类似的,iOS我就没有试过了。

一、安装MinGW和添加环境变量

       为什么要安装这个呢?MinGW是Minimalist GNU on Windows的缩写,里面包含了c++的编译器,但这不是重点,重点是它可以让我们在windows下用linux的命令编译运行c++程序,也就是说这个不装应该也是完全可以的,只要有c++编译器就可以了,但是你就必须用windows的命令了,我稍微看了一眼命令完全不熟悉,所以也就没有再去研究这个。下面的讨论都是在安装了MinGW基础上的做法。

       我之前电脑上之前装了codeblocks,所以就直接从它的目录里面复制了出来。据说直接在官网上下载MinGW会出很多问题,这里不去讨论那些问题。建议大家也直接下一个codeblocks,用它自带的MinGW,这样会省很多时间。

       我把MinGW放在了C盘的根目录,然后需要把C:\MinGW\bin加入到环境变量Path中,这一部分就结束了。之前配过Java环境变量的话应该懂的,不懂的话可以百度一下。

       完成以后在cmd任意目录下输入gcc,应该如下图:


       如果提示不是内部或外部命令,说明配置失败。

       之后,重启sublime text 就可以生效了,如果在sublime中未生效,据说可以尝试重启windows。


二、编写Build配置文件

       在这之前需要大家了解linux下的c++编译和运行命令,这里说几个我之前不很清楚的地方。

       首先,g++和gcc都是可以编译c++的编译器,两者的关系大家百度一下吧,结论就是用g++就好。

       然后,-std=c++11或者-std=c++0x是添加g++的编译选项,都是指2011年发布的一套c++标准,命令中可以没有,也可能引发一些玄学错误。

       然后,-Wall也是一个选项,加上可以显示警告。

       没有接触过linux编译运行c++的可以先补习一下再继续。

       之后就到了最关键的地方,需要新建一个Build System,选择Tools-->Build System-->New Build System,就会打开一个sublime-build文件。

       下面是我最后使用的一段代码:

{
	"cmd":"g++ -std=c++11 $file_name -o $file_base_name",
	"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
	"working_dir": "${file_path}",
	"selector": "source.c, source.c++",
	"shell": true,
	"encoding":"cp936",
	"variants":[
		{
			"name":"g++ Compile",
			"cmd":"g++ -std=c++11 $file_name -o $file_base_name"
		},
		{
			"name":"g++ Run",
			"cmd":"start cmd /k $file_base_name"
		}
	]
}

       如果上面的步骤都没问题的话,粘上应该是可以直接用的。

       下面详细地解释一下配置文件。一个比较官方的说明:http://sublimetext.info/docs/en/reference/build_systems.html

       这个配置文件是用JSON写的,关于JSON的语法非常简单,大家搜一下教程吧。

       解释一下各名称的含义。用一下从我之前看的一篇博客上的表格吧。



       之前在其他博客上找的代码问题都出在了cmd上,其中使用变量的习惯都不一样,而且我对JSON也不了解,所以在这摸索了很长时间。

       1.首先,$file吧,也可以写成${file},运行的时候应该是直接用变量所代表的字符串来替代。

       2.我见到有的地方这样写${file_path}/${file_base_name},去掉大括号也是没有问题的,中间的/是转义字符,替代以后这个就可以成为C:\Files\chapter1这样的形式。

       3.我试过一个博客上写的这样一句

"cmd": ["g++", "${file}", "-std=c++11", "-o", "${file_path}/${file_base_name}"] 是可以的,换成我后来写的

"cmd":"g++ -std=c++11 $file_name -o $file_base_name" 也没有问题,但是

"cmd":"g++ -std=c++11 $file -o $file_path/$file_base_name"就不对,这个问题让我困惑了好久。

       原因是这样,在JSON中,方括号代表数组,我之前一直以为会被当成一个完整的字符串,但实际上这个数组中的每一项都作为一个单独的参数给cmd处理,而没有方括号的写法是把引号里面$开头的变量替换掉,然后整个作为一条命令传给cmd。拿编译hello.cpp来举例吧,第三种会把"g++ -std=c++11 C:\my files\hello.cpp -o C:\my files\hello"传给cmd,路径中出现了空格,cmd把"C:\my"当成了一个参数,所以找不到指定文件,而第一种是把"C:\my files\hello.cpp"整个作为一个参数。前面表格中提到了working_dir会先把cmd转到文件所在的目录下,所以省去路径就可以,第二种写法也是可以的。

       4.然后是运行的cmd怎么写,一般是"start cmd /k hello",hello后面有没有.exe都可以,start cmd 是在原来的cmd基础上重新打开一个新的cmd,目录还是在当前目录,在新的cmd上执行hello这个可执行文件。后面的/k有的人也写/c,区别是/k的话执行完程序cmd不会关闭,不然效果就是hello出来一闪,窗口就关了。有的博客还在后面加了“echo. & pause",百度到的解释:


 

       5.如果想编译并运行的话,用&&连接两条命令就好了,像这样"g++ -std=c++11 $file_name -o $file_base_name && start cmd /k $file_base_name"。中间的&&也有些人写成&,区别是&&后面的命令必须在顺利执行完前面的命令的基础上才会执行,而&后面的命令即使前面的命令没有顺利执行也会执行。

       6.最后,解释一下variants,这个是备选指令,按照我的代码Ctrl+Shift+B就可以看到g++,g++ Compile,g++ Run,三个选项,name就是选项的名字,cmd当然是这个选项下执行什么了,通过这个域,你可以把编译和运行分开。

       7.其他几个域,都没什么,直接照搬就可以,前面讲的cmd可以按照自己的个性进行设置。

       文件写好以后,Ctrl+S保存就可以使用了,最好保存在弹出窗口原来给出的那个目录下,不然有可能出现玄学错误。


### 回答1: 要在Sublime Text 3中配置C++环境,需要进行以下步骤: 1. 安装MinGW-w64,可以从官网下载适合你的操作系统版本的安装程序,安装时选择安装C++组件。 2. 在系统环境变量中添加MinGW-w64的bin目录,比如在Windows系统中添加:C:\MinGW-w64\bin。 3. 在Sublime Text 3中安装Package Control,可以参考官网上的安装指南。 4. 使用Package Control安装SublimeClang插件,这是一个提供C++代码补全和语法检查功能的插件。 5. 在SublimeClang插件设置中,设置clang_binary为MinGW-w64中的clang++.exe的路径,比如:C:\MinGW-w64\bin\clang++.exe。 6. 创建一个新的C++文件,输入代码后,按下Ctrl+B即可编译并运行代码。 以上就是在Sublime Text 3中配置C++环境的步骤,希望能对你有所帮助。 ### 回答2: Sublime Text 3是一款强大的文本编辑器,可用于编写多种编程语言。若要使用Sublime Text 3编写和运行C程序,需要进行配置。 1.安装Sublime Text 3 首先,需要下载并安装Sublime Text 3。可以从官方网站上下载安装程序,并按照提示安装该软件。 2.下载安装MinGW MinGW是Windows上的一个开发工具包,包含了GNU编译器和一些其他工具。这里需要下载并安装MinGW,以便能够编译和运行C程序。 下载地址:https://sourceforge.net/projects/mingw/ 3.配置环境变量 要在Sublime Text 3中使用MinGW,需要在Windows环境变量中添加MinGW的安装路径。具体方法如下: ①打开“控制面板”和“系统”,选择“高级系统设置”,然后点击“环境变量”; ②在“系统变量”中,找到“Path”项,双击编辑; ③在“变量值”中,添加MinGW的安装路径,例如:C:\MinGW\bin; ④点击确定保存并应用更改。 4.安装SublimeREPL插件 为了在Sublime Text 3中编写和运行C程序,需要安装SublimeREPL插件。SublimeREPL是一个交互式的REPL环境,它可以与多种程序语言交互,并提供多种功能。 ①打开Sublime Text 3,按下“Ctrl+Shift+P”,使用命令面板来安装插件; ②输入“Package Control: Install Package”,然后点击Enter; ③输入“SublimeREPL”,然后点击Enter,SublimeREPL插件就会开始下载和安装。 5.设置编译和运行环境 ①打开Sublime Text 3,并拖拽一个.c文件至编辑器; ②选择“Tools”——“Build System”——“New Build System”,编辑build文件。 ③输入下面代码: { "shell_cmd": "gcc \"$file\" -o \"$file_base_name\" && \"./$file_base_name\"", "working_dir": "${file_path}", "selector": "source.c" } 6.测试执行 ①在Sublime Text 3中打开一个.c文件; ②按下“Ctrl+B”编译运行C程序; ③可以在SublimeREPL Console面板中查看输出结果。 以上就是Sublime Text 3配置C环境的过程。通过这些简单步骤,可以让Sublime Text 3成为一款强大的C编程工具。 ### 回答3: Sublime Text3是一款轻量级的代码编辑器,其易用性以及各种优秀的插件与扩展功能深得程序员的喜爱。在进行c代码编写时,我们需要进行一些配置,才能将Sublime Text3打造成一个完美的c代码编写工具。 下面是配置Sublime Text3的环境过程: 1.安装Sublime Text3 首先我们需要到Sublime Text3官网下载安装Sublime Text3,安装过程中可以按照默认配置进行安装即可。 2.安装Package Control Package Control是Sublime Text3中非常重要的插件管理器,可以方便地安装、卸载、更新各种插件。进入Sublime Text3官网,按下Ctrl + `键(也可以在View菜单下找到Show Console),在弹出的控制台中输入以下代码: ``` import urllib.request,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1514676163dafc88'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by) ``` 以上代码将会安装Package Control插件,安装完成后需要重启Sublime Text3。 3.安装C++11插件 打开Sublime Text3,按下快捷键Ctrl + Shift + P(也可以在Tools菜单下找到Command Palette),在输入框中输入“Install Package”,回车,输入框中出现“Package Control: Install Package”字样,选中该选项,在下拉框中输入“C++11”(也可以直接搜索),选择该插件进行安装。 4.配置编译器 Sublimt Text3并不自带编译器,需要我们自行选择和配置。比较常见的是使用MinGW作为编译器,其安装和配置方式如下: 首先下载MinGW安装文件,具体安装方式可参照软件安装教程,在安装时需要注意设置环境变量。 在Sublime Text3中按下快捷键Ctrl + Shift + B,出现Build System选择框,选择“New Build System”,在弹出的文件输入框中输入文件名“C++.sublime-build”(也可以自行命名),在打开的编辑器窗口中输入以下代码: { "cmd": ["mingw32-g++.exe", "-Wall", "-g", "${file}", "-o", "${file_path}/${file_base_name}.exe"], "selector": "source.c, source.c++", "shell": true, "working_dir": "${file_path}" } 以上代码中,”cmd”是执行编译命令的指令;”selector”是为了识别你目前所使用的编程语言;”shell”为true则按windows系统执行程序,设置为true,正常编译时可以得到调试信息;”working_dir“是设置当前的工作目录。 5.运行C++文件 在编写完c++代码后,按下快捷键Ctrl + B即可编译并运行代码。 以上便是Sublime Text3配置C++环境的整个流程,通过以上配置,我们就可以愉快地开始编写C++程序了。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值