如何使用notepad++搭配MinGW配置编译C/C++
最经开始学C++了,平时学习不喜欢用IDE,一直以来都喜欢使用sublimetext写代码。所以在网上找了一下如何配置sublimetext编译C/C++。不过简单配置之后,只有输出,要想进行输出操作,还要再折腾一番。sublimetext平时做web开发的时候专用。至于vim和emacs太高端,非我等屌丝随随便便就可以的,所以我先试着将notepad++折腾一下。于是乎开始google之。
折腾了好久额,网上的教程实在是。。。有的还没说完就没了。又一次明白了:很多事情还是要靠自己啊!网上的东西真的只是可以参考一下而已。一番折腾之后,终于配置成功了,现在我就总结一下一个自认为比较完整的方法吧。
1、先要安装编译器
notepad++只是一个文本编辑器,本身没有编译C/C++的功能。所以要想先配置,就要先装上一个编译器。我是用的是MinGW(但是它不只是一个编译器这么简单,可以简单地理解成是一个开发工具包,我们只是利用了其中的一些开发工具)。可以到这个链接http://gd.tuwien.ac.at/gnu/mingw/MinGW-3.0.0-1.exe下载一个MinGW-2.0.0-3.exe(我配置的时候使用的版本是这个)。
2、设置环境变量
什么是环境变量,我也不清楚,不懂的可以自己去查一下资料,回头我也去脑补。我们先设置环境变量。
(以下的环境变量设置过程网上很多,我参考了http://blog.csdn.net/firefoxbug/article/details/6724876)
在(系统属性-->高级-->环境变量-->系统变量 中)(以下目录都根据自己的电脑MinGW所在位置不同而改变)
- 在PATH的值中加入“D:\MinGW\bin”(如果没有就新建一个PATH)。如果PATH中还有其他内容,需要用英文状态下分号进行分割。这是寻找gcc编译器的路径。(这一步中PATH的值根据你的MinGW安装的路径设定,要能够访问的gcc编译器,也就是MInGW安装目录里面的bin文件夹)
- 新建LIBRARY_PATH变量,在其值中加入“D:\MinGW\lib”。这是标准库存放的路径。
- 新建C_INCLUDE_PATH变量,在其值中加入“D:\MinGW\include”。这是Include查找头文件的路径。
设置结束之后,在cmd控制台窗口下面,输入gcc -v。若已经成功安装好,会显示gcc的版本信息。比如说我的:

3、设置notepad++
环境变量设置成功之后,接下来我们就是设置notepad++,为其加上编译,运行,甚至调试的功能,我是添加了编译和运行两个。
打开notepad++,选择菜单栏的“运行》运行”,或者直接按“F5”,可以看到如下:

然后再一次输入下列命令
编译:
cmd /k g++.exe -g -W -Wall -o $(CURRENT_DIRECTORY)\$(NAME_PART).exe "$(FULL_CURRENT_PATH)" & PAUSE & EXIT
然后点击“保存”,并自定义快捷键。
运行:
cmd /k $(CURRENT_DIRECTORY)\$(NAME_PART).exe "$(FULL_CURRENT_PATH)" & PAUSE & EXIT
然后点击“保存”,并自定义快捷键。
(命令设置参考文章:http://www.cnblogs.com/P_awl/archive/2010/01/29/1659305.html)
注意事项:
引号的使用是为了适用于文件名或者路径中带有空格的情况,一定不能省略。
& PAUSE 含义是命令运行后暂停等待键盘操作
& EXIT 含义是完成后退出运行窗口,回到notepad++
gcc的bin目录已经之前在系统环境变量中进行过设定,否则需要补全gcc命令的绝对路径。(很简单,将"g++.exe"换成"D:\MinGW\bin\g++.exe",还是要参照你安装的路径)
举个栗子:
现在来演示一下,编译

运行:

至此,配置过程已经结束。但是在用的过程中,在我的电脑上会有问题:如果你在程序中输入了中文,运行的时候会乱码,经过一番折腾发现,好像是文件不能使用UTF-8格式,否则无法通过编译。我的解决办法是,编码依旧使用ASNI,但是在编码字符集中选择中文》gb2312。不过还是有问题,等我发现了好的方法再补充上来,如果大家有好的办法,欢迎分享。
如果在编译过程中中文出现了乱码,我的解决办法是:在notepad++里面菜单栏中“设置》首选项》新建”,将编码改成gbk就可以了。如下图:
全文到此结束,有错误的地方欢迎指正
如何使用notepad++搭配MinGW配置编译C/C++的更多相关文章
- Notepad++搭配MinGW 配置编译运行C/C++
1. Notepad++与Dev-Cpp都能编译运行, 环境变量的设置: 在PATH中加入"Dev-Cpp的MinGW64下的bin", 这是寻找gcc编译器的路径. 新建LIBR ...
- windows 7下mingw+msys编译ffmpeg
windows 7下mingw+msys编译ffmpeg 1-->下载安装MingW,mingw-get-inst-20120426.exe http://sourceforge.ne ...
- GADL配置编译
GADL配置编译 文章1:Win7(32/64)VS2010配置编译GDAL环境(图文教程+亲测可用!) 转载:http://malagis.com/win7-vs2010-gdal.html 近的一 ...
- Win7 64位 VS2015及MinGW环境编译FFMPEG-20160326
因为又要弄MinGW了,所以顺便把FFMPEG编译了,文章主要参考这篇,防抽所以复制一遍,顺便加些自己的内容 http://blog.csdn.net/finewind/article/details ...
- Qt for Windows:Qt 5.4.0 MinGW 静态编译版本制作 (转)
大致流程: 1.安装Qt(源码版)以及其他必要的环境 2.编译/安装 3.配置 4.使用 ----------正文分割线---------- 1.安装Qt(源码版) 1.1 下载Qt(两个地址二选一即 ...
- NotePad++安装和配置C/C++开发插件
NotePad++ - 安装和配置C/C++开发插件 | NotePad++ - Install and Configure plugins for develop C/C++ http://aofe ...
- Win7 VS2015及MinGW环境编译FFMPEG-20160326
因为又要弄MinGW了,所以顺便把FFMPEG编译了,文章主要参考这篇,防抽所以复制一遍,顺便加些自己的内容 http://blog.csdn.net/finewind/article/details ...
- 【计算机视觉】关于OpenCV中GPU配置编译的相关事项
[计算机视觉]关于OpenCV中GPU配置编译的相关事项 标签(空格分隔): [计算机视觉] 前一段发现了OpenCV中关于GPU以及opencl的相关知识,打算升级一下对OpenCV的使用,但是发现 ...
- sublime text 3 快捷键大全以及配置编译环境
Sublime text 3是码农最喜欢的代码编辑器,每天和代码打交道,必先利其器,掌握基本的代码编辑器的快捷键,能让你打码更有效率.刚开始可能有些生疏,只要花一两个星期坚持使用并熟悉这些常用的快捷键 ...
随机推荐
- DEV中gridview常用属性的设置
1.隐藏最上面的GroupPanel: gridView1.OptionsView.ShowGroupPanel=false; 2.得到当前选定记录某字段的值: sValue=Table.Rows[g ...
- C程序的存储空间布局
历史沿袭至今,C程序一直由下列几部分组成: 1. 正文段.这是由CPU执行的机器指令部分.通常,正文段是可共享的,所以即使是频繁执行的程序(编辑器,编译器,命令解释器)在存储器中也只需一个副本,另外正 ...
- KMP算法番外篇--求解next数组
KMP算法实现字符串的模式匹配的时间复杂度比朴素的模式匹配好很多,但是它时间效率的提高是有前提的,那就是:模式串的重复率很高,不然它的效率也不会凸显出来.在实际的应用中,KMP算法不算是使用率很高的一 ...
- Creating a Broker (创建代理)
1,CMD中运行 2,apollo的目录结构. bin 执行相关的脚步. etc 保存实例的配置文件 data 存储消息的文件 log 日志 tmp 临时的文件 3,Broker Configu ...
- codeforces 282E. Sausage Maximization Trie
题目链接 给n个数, 让你找出一个前缀和一个后缀, 它们异或完以后最大, 前缀和后缀都是异或得来的, 可以为空, 为空时按0算.前缀后缀不可覆盖. 这题好神, 竟然是Trie树... 首先将所有数的异 ...
- python的filter()函数
filter()函数是 Python 内置的另一个有用的高阶函数. filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,fil ...
- Python keyword 模块 -- 学习笔记
keyword 的帮助文档 >>> import keyword >>> help(keyword) Help on module keyword: NAME ke ...
- [uva 11762]Race to 1[概率DP]
引用自:http://hi.baidu.com/aekdycoin/item/be20a91bb6cc3213e3f986d3,有改动 题意: 已知D, 每次从[1,D] 内的所有素数中选择一个Ni, ...
- c#个性化安装包
近来想做一个模仿QQ或猎豹浏览器那样的个性化安装包,NSIS或IS等简单看了一下,比较复杂还不确定能不能实现. 想了一下,可以自己开发一个安装包程序,新建一个windows项目,但不知如何将已开发完成 ...
- Sql缓存依赖--数据库缓存
•依赖于文件内容CacheDependency cDep = new CacheDependency(filePath); •依赖于数据库内容(轮询机制/通知机制)一:轮询机制 1.在数据库新建版本表 ...
