sublime-text 环境配置(持续更新)

C++、C 环境配置

Attention

  1. 以下皆为单文件编译运行,多文件联合需要 makefile(后续更新)
  2. 插件推荐

1. Windows

首先安装 C、C++ 编译器。较为自由的有以 GNU 为代表的 gcc 和 g++。windows 上没有 GNU,但是有 MinGW(全称 Minimalist GNU on Windows),是 GNU 在 windows 上的版本。安装途径:

  1. 官网
  2. Dev C++ 默认使用 MinGW(打开所在路径->dev C++ 所在路径下有一个 MinGW64 的文件夹)

然后配置环境变量( g++,gcc 编译命令需要根据一些路径,找到对应的程序对代码进行编译)

此电脑 -> 属性 -> 高级系统设置 -> 环境变量 -> 系统变量(S) -> Path 双击 -> 新建 -> 找到对应 MinGW 的 gcc, g++路径,例如 D:\software\Dev-Cpp\MinGW64\bin,将这个路径填写

接下来再返回的过程中,每一个窗口都要点击确定

可能不会立马生效,需要重启 or 等若干分钟
打开命令行 cmd.exe,输入 g++ --version,如果有版本信息,说明环境配置成功。

现在,给定一个 .c 文件或者 .cpp 文件,我们可以通过命令行编译代码文件了,命令:

g++ test.c -o test

-o 输出到文件,输出文件是 text.exe,默认同目录。
注意一点, gcc, g++ 等编译器只是帮助我们编译了代码文件,并不能直接运行,集成环境(dev C++只是可以帮我们顺便运行输出文件而已)
运行,命令行输入:

test.exe

以上,已经确定完成了 C,C++ 环境的搭建,那么如何在 sublime-text3 中完成这整个过程呢?

打开 sublime-text3 -> Tools -> build systems -> New build systems...
需要填写一个 sublime-build 文件,如下书写:

{
    "working_dir": "$file_path",
    "cmd": "g++ -Wall -std=c++14 -fexec-charset=GBK \"$file_name\" -o \"$file_base_name\"",
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
    "selector": "source.c, source.cpp",
 
    "variants": 
    [
        {   
            "name": "Run",
            "shell_cmd": "g++ -Wall -std=c++14 -fexec-charset=GBK \"$file\" -o \"$file_base_name\" && start cmd /c \"\"${file_path}/${file_base_name}\" & pause\""
        }
    ]
}
  1. g++ 编译 C++,gcc 编译 C,可自行修改。C++兼容C,g++可以编译 c 和 C++;如果非要只编译 C,则将 g++ 改为 gcc,同时删除 -std=c++14
  2. 编译参数:
  • -Wall,开启警告提示
  • -std=c++14,按照 C++14 新标准
  • -fexec-charset=GBK,编码字符集 GBK;倘若编译运行失败,提示error: no iconv implementation, cannot convert from UTF-8 to GBK,则删除 -fexec-charset=GBK选项
  • -o,输出文件为
  • lmysqlclient,链接数据库
  • -lpthread,链接多线程库
  • -llog4cpp,链接log4cpp库
  • -lboost_system -lboost_thread -lboost_filesystem,链接 boost 库
    ......

假设命名为 C_myself.sublime-build,回到 Tools -> build systems -> 选择刚才命令的的 C_myself,最好别是 automatic。
用法:

用 sublime 打开 test.c 文件,按 F7(或者 ctrl + B),会跳出一个选择,选择最下面的 run,即可,编译运行一键完成。

sublime.gif

效果如图:

2. Linux

linux 下一般有 GNU 套件,默认有 gcc 和 g++;如果没有,安装GCC编译器十分简单,终端命令

sudo apt-get install build-essential (ubuntu)
sudo yum install gcc-c++ (CentOS)
sudo pacman -S gcc (ArchLinux,如 manjaro)

输入命令 g++ --version 若有版本信息,说明安装成功!
接下来只需要书写 sublime-build 文件即可,例如在 gnome 桌面下,sublime-build 如下:

{
    "encoding": "utf-8",
    "working_dir": "$file_path",
    "shell_cmd": "g++ -std=c++14\"$file_name\" -lpthread -o \"$file_base_name\"",
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
    "selector": "source.c++",
 
    "variants": 
    [
        {    
        "name": "Run",
        "shell_cmd": "g++ -std=c++14 '$file' -lpthread -o '$file_base_name' && gnome-terminal -x bash -c \"'${file_path}/${file_base_name}';read -p '\nmake it !'\""
        }
    ]
}

Ctrl + B(或者 F7) 即可调出终端,输出结果。

如果需要链接第三方库:

  1. log4cpp :-llog4cpp
  2. opencv : pkg-config --cflags --libs opencv,放在\"$file_base_name\"之后有效
  3. boost : -lboost_system
  4. Boost.asio(最折腾): -lboost_system -lboost_thread -lboost_filesystem -I/usr/local/include/boost -L/usr/local/lib

Python 环境配置

1. windows

安装好 Python,书写 sublime-build 文件:

{
    "encoding": "utf-8",
    "working_dir": "$file_path",
    "shell_cmd": "python -u \"$file\"",
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python",
 
    "variants":
    [
        {
            "name": "Run",
            "shell_cmd": "start cmd /c \"python -u \"$file\" & pause\"",
        }
    ]
}

2. Linux

例如在 Gnome 桌面下,sublime-build 如下:

{
    "encoding": "utf-8",
    "working_dir": "$file_path",
    "shell_cmd": "/usr/bin/python3 -u \"$file\"",
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python",
 
    "variants":
    [
        {
            "name": "Run",
            "shell_cmd": "gnome-terminal -x bash -c \"python3 '${file}';read -p '\nYHL make it !'\""
        }
    ]
}

Java 配置

1. Windows

安装好 Java 环境之后,书写 sublime-build :


{
    "shell_cmd": "ECHO Compiling $file_base_name.java & ECHO ============Out============ & javac -encoding UTF-8 \"$file\" & java \"$file_base_name\"",
    "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
    "working_dir": "${file_path}",
    "selector": "source.java",
    "encoding":"gbk",
    "variants":[
         {   
            "name":"编译",
            "shell_cmd": "ECHO Compiling $file_base_name.java & javac -d . -encoding UTF-8 \"$file\"",
        },
        {   
            "name":"运行当前类",
            "shell_cmd":" java \"$file_base_name\" "       
        },
        {   
            "name":"在cmd中运行",
            "shell_cmd":" start cmd /c \"javac -encoding UTF-8 \"$file\" & java \"$file_base_name\" & pause \""  
        }
   ]
}

插件推荐

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,529评论 5 475
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,015评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,409评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,385评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,387评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,466评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,880评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,528评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,727评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,528评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,602评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,302评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,873评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,890评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,132评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,777评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,310评论 2 342