最经开始学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. Web学习之自定义标签

    1.编写一个实现Tag接口的Java类(标签处理器类) package me.gacl.web.tag; import java.io.IOException; import javax.servle ...

  2. C#读取网页

    public bool getweb(string strURL,out string buf) { buf=""; try { //Uri url=new Uri(strURL, ...

  3. appium获取app应用的package和 activity。---新手总结(大牛勿喷,新手互相交流)

    从网上搜索的方法: 如下: 1.查看源码 2.日志法a.启动待测apkb.开启日志输出:adb logcat>D:/log.txtc.关闭日志输出:ctrl+cd.查看日志直接搜索 :Displ ...

  4. PCIE卡槽还能这样用!

    前几天去电脑城装了台i5的主机,当时就发现主板上只有2个PCIex2的槽.但奇怪的是2个还长的不一样,一个屁股后面是开口的:) 问装机的小伙子,他也不懂,而且就这电脑操作水平都跟哥差远了,让他给我硬盘 ...

  5. win7 资源管理器的背景色修改

    主要参考 http://blog.sina.com.cn/s/blog_49c182c20100w3nb.html win7 通过dll修改背景色首先找到这个文件C:\Windows\Resource ...

  6. 8,SSO,,eager copy,COW

    针对字符串不同的长度,“编译器”选择不同的优化策略:SSO, eager copy,COW,分别针对短字符串,中等长度字符串,长字符串.不过,现在(2016)的大多数编译器(gcc 4.9.1,vs2 ...

  7. 使用CarrierWave上传图片时,多版本文件名的统一

    第一次使用CarrierWavewe做上传,不能不说,虽然Rails已经把上传变得超简单了,而CarrierWave则是把上传变成了一种享受,特别是做图片上传,现在这年代,图片展示平台已经不仅仅是电脑 ...

  8. 帝国cms7.0导航栏当前栏目显示不同样式

    以下代码演示帝国导航调用 栏目id为14.15.2.34的栏目内容.同时加入php语句,如果栏目显示为当前栏目,则变量<?=$on?> 显示为 an ,否则就显示为空 [e:loop={& ...

  9. Floodlight之 FloodlightContextStore 数据结构

         FloodlightContextStore 代表的是一种缓存模型(利用的是ConcurrentHashMap).里面存储的是上下文相关的对象,可以依据对应的key得到详细的 Object. ...

  10. asp.net Page_Load事件加载两次

    Page_Load 即使加上 if(!IsPostBack){ ……} 还时走了2次 这时候 或者看看你的程序和脚本,是不是刷新页面了 或者页面的样式有错误的地方  例如: background:ur ...