最经开始学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. Unity UGUI在鼠标位置不同时 图片浮动效果

    /// <summary> /// 在鼠标位置不同时 图片浮动效果 /// </summary> public class TiltWindow : MonoBehaviour ...

  2. ExtJs目录说明

    Ext开发包目录结构说明builds目录为ExtJS压缩后的代码docs目录为ExtJS的文档examples目录中是官方的演示示例locale是多国语言的资源文件, 其中ext - lang - z ...

  3. iOS __func__标识符

    iOS底层是GCC,所以也支持 __func__标识符,用于打印当前函数名,可以说是排错利器. // data should not be nil nor empty ) {// Exception ...

  4. 如何在Mac系统安装eclipse并运行java程序?

    链接地址:http://jingyan.baidu.com/article/7f41ecece8ef5b593c095c71.html eclipse现在也有 Mac版了,我们快来试一试吧!现在我将带 ...

  5. Android应用开发基础篇(15)-----URL(获取指定网址里的图片)

    链接地址:http://www.cnblogs.com/lknlfy/archive/2012/03/10/2389190.html 一.概述 URL,说白了就是一个网络地址(网址),通常一个网址里包 ...

  6. BZOJAC400题留念

    BZOJAC400题了...

  7. php基础知识(有代码有注释)

    回顾 数组: 数据的组合 数组定义: 三种方式(常用array()) 数组访问: 下标 数组分类: 关联数组, 索引数组和混合数组 数组循环遍历: foreach遍历(foreach原理) 二维数组: ...

  8. spring学习总结(mybatis,事务,测试JUnit4,日志log4j&slf4j,定时任务quartz&spring-task,jetty,Restful-jersey等)

    在实战中学习,模仿博客园的部分功能.包括用户的注册,登陆:发表新随笔,阅读随笔:发表评论,以及定时任务等.Entity层设计3张表,分别为user表(用户),essay表(随笔)以及comment表( ...

  9. vi 替换命令“找不到模式”解决

    在linux vi编辑工具中使用替换命令操作时,会出现明明有匹配查找模式的数据.却报"找不到模式"问题. 原因是vi s///替换操作缺省针对行,若要生效,则须要将光标移动到指定行 ...

  10. MemberShip使用大全

    比较全面的membership 使用过程 http://www.cnblogs.com/xlb2000/archive/2010/07/31/1788120.html Membership中创建的数据 ...