Sublime Text 3 & MinGW U盘便携编译器制作方法

前言

学校机房一直在使用老版本的VC6,但是这令人眼花缭乱的文本实在让人头大;
而每次重启都要重置的电脑,配置环境变量也是不可能的了;
由于本人在个人电脑上一直使用Sublime Text 3,便有把Sublime Text 3 便携版装进U盘随身携带的想法;
在查阅相关教程后,本人现整理出一份基于Sublime Text 3制作便携IDE的方法,供大家参考;

以下是实现的步骤:

注:由于本人学校机房为Windows 7系统,且U盘插入后,盘符都为F,所以接下来的许多操作都是基于此,可根据每位用户不同的需要,来选择、修改成为自己合适的版本

如何使用

  1. 图方便的同学可以直接下载文末的已经制作完成的压缩包(默认U盘盘符为F)
  2. 检查盘符和路径是否正确,如不正确修改.sublime-build添加缺少的文件.bat中正确的盘符及路径;
  3. 运行添加缺少的文件.bat
  4. 完成,已经可以正常编译程序了;

方法

下载Sublime Text 3 免安装版

portable version(官方链接可点击直接下载)
或者在http://www.sublimetext.com/3 查找最新版下载

由于机房的电脑大多数是32位操作系统的,且为兼容性考虑,我们选择下载32位的portable version

  • 解压后放在U盘目录下
下载MinGW编译器

链接:https://pan.baidu.com/s/1qTMUPlRhX3WN10GCmI0_Ow 密码:ggde
由于官网下载的链接有时连接不稳定,现在已经有下载好的MinGW32安装包,解压后可以直接使用

  • 解压后放在U盘目录下
新建编译系统文件

众所周知,Sublime Text 3 初始只有C++的编译系统,且不是在cmd中运行,cin以及scanf函数不能输入,所以我们要新建一个编译系统
因为有两种语言需要编译,要调用两个不同的编译器,分别为gcc\g++,所以有两个.sublime-build(编译系统)文件需要新建

  • C语言的编译系统写入:
  • 打开Sublime Text 3,选择Tool-Build System-New Build System...来新建一个编译系统
  • 复制粘贴输入以下代码:
{
    "encoding": "cp936",
    "working_dir": "$file_path",
    "cmd": "F:/MinGW32/bin/gcc -fexec-charset=GBK -Wall \"$file_name\" -o \"$file_base_name\"",
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
    "selector": "source.C",
 
    "variants":
    [
        {   
        "name": "Run",
            "shell_cmd": "F:/MinGW32/bin/gcc -fexec-charset=GBK -Wall \"$file\" -o \"$file_base_name\" && start cmd /c \"\"${file_path}/${file_base_name}\" & pause\""
        }
    ]
}
  • 保存为MY C.sublime-build
  • 至此,C语言的编译系统写入完毕
  • C++的编译系统写入:
  • 再次打开Tool-Build System-New Build System...来新建另一个编译系统
  • 复制粘贴输入以下代码:
{
    "encoding": "cp936",
    "working_dir": "$file_path",
    "cmd": "F:/MinGW32/bin/g++ -fexec-charset=GBK -Wall -std=c++11 \"$file_name\" -o \"$file_base_name\"",
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
    "selector": "source.C++",
 
    "variants":
    [
        {
        "name": "Run",
            "shell_cmd": "F:/MinGW32/bin/g++ -fexec-charset=GBK -Wall -std=c++11 \"$file\" -o \"$file_base_name\" && start cmd /c \"\"${file_path}/${file_base_name}\" & pause\""
        }
    ]
}
  • 保存为MY C++.sublime-build
  • 至此,C++的编译系统写入完毕

在这里,需要注意的是,这两个.sublime-build文件的第4"cmd"以及第12"shell_cmd"中的F:/MinGW32/bin/gccF:/MinGW32/bin/g++需要修改为自己U盘所在的盘符及路径
一般来说,将MinGW放在U盘根目录下,按照我的编译系统,只需要修改盘符

  • 至此,Sublime Text 3 已经能够调用U盘上的gcc\g++编译文件了,但是,有些缺少部分文件的电脑在编译时会报错,所以下一步我们来方便地添加这些文件
复制缺少的文件

在第一次编译时,系统有可能会报错,缺少部分文件
由于我们是学校机房的电脑,每一次重启都会重置系统,所以一次添加,永久受益是不现实的,所以,我们选择用.bat文件来批量操作,化简这一步骤

  1. 统计需要添加的文件
    完整地编译、运行一次程序,在MinGW\bin目录下找到所有需要添加的文件
  2. 将文件名记录下来
    也可以将文件统一复制到一个新的文件夹,以后有需要可以继续往里面添加
  3. 制作一个.bat文件,将需要的文件复制到相应的目录
  • 打开Sublime Text 3,新建一个文件
  • 复制粘贴输入以下代码:
echo Add to compile missing files

copy /y "F:\MinGW32\bin\libgcc_s_dw2-1.dll" "C:\Windows\System32"
copy /y "F:\MinGW32\bin\libgmp-10.dll"      "C:\Windows\System32"
copy /y "F:\MinGW32\bin\libmpc-3.dll"       "C:\Windows\System32"
copy /y "F:\MinGW32\bin\libmpfr-4.dll"      "C:\Windows\System32"
copy /y "F:\MinGW32\bin\zlib1.dll"          "C:\Windows\System32"
copy /y "F:\MinGW32\bin\libstdc++-6.dll"    "C:\Windows\System32"

copy /y "F:\MinGW32\bin\libgcc_s_dw2-1.dll" "C:\Windows\SysWOW64"
copy /y "F:\MinGW32\bin\libgmp-10.dll"      "C:\Windows\SysWOW64"
copy /y "F:\MinGW32\bin\libmpc-3.dll"       "C:\Windows\SysWOW64"
copy /y "F:\MinGW32\bin\libmpfr-4.dll"      "C:\Windows\SysWOW64"
copy /y "F:\MinGW32\bin\zlib1.dll"          "C:\Windows\SysWOW64"
copy /y "F:\MinGW32\bin\libstdc++-6.dll"    "C:\Windows\SysWOW64"

echo Finished
pause
  • 保存为添加缺少的文件.bat
  • 其中,我只缺少6个文件,所以只添加了这6个文件到相应的目录,各位可以对照,按照自己的需求,添加相应的文件

同样的,需要注意的是,这个添加缺少的文件.bat文件中的的盘符F需要修改为自己U盘所在的盘符及路径,而后面的C:\Windows\System32C:\Windows\SysWOW64不需要做修改
需要添加缺少文件时,双击即可运行

至此,教程结束

为了方便各位同学,我制作了一个32位的便携编译器,理论上支持Windows Xp、Windows 7以及Windows 10
链接:https://pan.baidu.com/s/1zEPYH9FkuL5bIBTNDuqdIA 密码:0a8e
将它解压缩直接放到U盘根目录下,修改.sublime-build以及添加缺少的文件.bat文件中的路径,既可以正常使用

如果有不明白,或者有更好的方法,欢迎留言以及指正!感谢

参考资料
https://blog.csdn.net/nihaoqiulinhe/article/details/78404128
https://www.cnblogs.com/Just--Do--It/p/7482091.html
https://www.cnblogs.com/raind/p/8659579.html
http://www.cnblogs.com/raind/p/8659489.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容