最经开始学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++的更多相关文章

  1. Notepad++搭配MinGW 配置编译运行C/C++

    1. Notepad++与Dev-Cpp都能编译运行, 环境变量的设置: 在PATH中加入"Dev-Cpp的MinGW64下的bin", 这是寻找gcc编译器的路径. 新建LIBR ...

  2. windows 7下mingw+msys编译ffmpeg

      windows 7下mingw+msys编译ffmpeg   1-->下载安装MingW,mingw-get-inst-20120426.exe  http://sourceforge.ne ...

  3. GADL配置编译

    GADL配置编译 文章1:Win7(32/64)VS2010配置编译GDAL环境(图文教程+亲测可用!) 转载:http://malagis.com/win7-vs2010-gdal.html 近的一 ...

  4. Win7 64位 VS2015及MinGW环境编译FFMPEG-20160326

    因为又要弄MinGW了,所以顺便把FFMPEG编译了,文章主要参考这篇,防抽所以复制一遍,顺便加些自己的内容 http://blog.csdn.net/finewind/article/details ...

  5. Qt for Windows:Qt 5.4.0 MinGW 静态编译版本制作 (转)

    大致流程: 1.安装Qt(源码版)以及其他必要的环境 2.编译/安装 3.配置 4.使用 ----------正文分割线---------- 1.安装Qt(源码版) 1.1 下载Qt(两个地址二选一即 ...

  6. NotePad++安装和配置C/C++开发插件

    NotePad++ - 安装和配置C/C++开发插件 | NotePad++ - Install and Configure plugins for develop C/C++ http://aofe ...

  7. Win7 VS2015及MinGW环境编译FFMPEG-20160326

    因为又要弄MinGW了,所以顺便把FFMPEG编译了,文章主要参考这篇,防抽所以复制一遍,顺便加些自己的内容 http://blog.csdn.net/finewind/article/details ...

  8. 【计算机视觉】关于OpenCV中GPU配置编译的相关事项

    [计算机视觉]关于OpenCV中GPU配置编译的相关事项 标签(空格分隔): [计算机视觉] 前一段发现了OpenCV中关于GPU以及opencl的相关知识,打算升级一下对OpenCV的使用,但是发现 ...

  9. sublime text 3 快捷键大全以及配置编译环境

    Sublime text 3是码农最喜欢的代码编辑器,每天和代码打交道,必先利其器,掌握基本的代码编辑器的快捷键,能让你打码更有效率.刚开始可能有些生疏,只要花一两个星期坚持使用并熟悉这些常用的快捷键 ...

随机推荐

  1. Android 开发笔记 “The constructor AlertDialog.Builder(new View.OnKeyListener(){}) is undefined”

    1.The constructor AlertDialog.Builder(new View.OnKeyListener(){}) is undefined等,应该有很多类似问题 比如你的源码文件名是 ...

  2. Python学习笔记 (4) :迭代器、生成器、装饰器、递归、正则表达式等

    迭代器 迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退,不过这也没什么,因为人们很少在迭代途中往后退.另外,迭代器的一大优点是 ...

  3. python列表元组

    python列表元组 索引 切片 追加 删除 长度 循环 包含   定义一个列表 my_list = []     my_list = list()   my_list = ['Michael', ' ...

  4. GoWithTheFlow

    GoWithTheFlow http://notes.jetienne.com/2011/07/17/gowiththeflow.js-async-flow-control-with-a-zen-to ...

  5. Trie三兄弟——标准Trie、压缩Trie、后缀Trie

    1.Trie导引 Trie树是一种基于树的数据结构,又称单词查找树.前缀树,字典树,是一种哈希树的变种.应用于字符串的统计与排序,经常被搜索引擎系统用于文本词频统计.用于存储字符串以便支持快速模式匹配 ...

  6. hdoj 3555 Bomb(DFA+dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3555 思路分析:该问题要求求解1—N中的数中含有49的数的个数,可以使用DFA来递推dp公式:详细解释 ...

  7. Foundation Sorting: Single List Insertion Sort

    /* List Insertion Sorting. * Implementation history:. * 2013-09-15, Mars Fu, first version. */ #incl ...

  8. fopen()函数

    1.2 文件的输入输出函数 键盘.显示器.打印机.磁盘驱动器等逻辑设备, 其输入输出都能够通过文件管理的方法来完毕.而在编程时使用最多的要算是磁盘文件, 因此本节主要以磁盘文件为主, 具体介绍Turb ...

  9. virtual 关键字

    virtual 关键字用于修饰方法.属性.索引器或事件声明,并且允许在派生类中重写这些对象.例如,此方法可被任何继承它的类重写. public virtual double Area() { retu ...

  10. 条款20:宁以pass-by-reference-to-const替换pass-by-value

    本条款的要点: 1.尽量以pass-by-reference-to-const替换pass-by-value.前者更高效且可以避免切割问题. 2.这条规则并不适用于内建类型及STL中的迭代器和函数对象 ...