windows下搭建c++开发环境(MinGW-64 + VIM)
2020-02-29 19:47
218 查看
windows下搭建c++开发环境(MinGW-64 + VIM)
前言
- c++开发环境的搭建有两种方式,一是安装集成开发环境(IDE),c++有许多IDE。如Code::Blocks、 Dev c++、CodeLite…
- 如果你正初学c/c++,那么推荐安装Dev c++,下面的教程可以不看了,这款IDE中文支持良好,体积小,运行速度快,安装过程非常简单,而且使用者多。附上一篇别人的安装教程。
- 但IDE软件大,功能多,不够灵活。如果你想要像打开记事本一样,随手打开一个文本文档就可以编程,或者对VIM情有独钟。这篇文章介绍第二种方法:编译器+编辑器,我认为适合爱折腾的初学者,我做这个主要用于算法学习。
所需文件介绍,及其下载地址
1.编译器: MinGW-64,进入网址后点击Files,文件在该目录下:Toolchains targetting Win64–>Personal Builds–>mingw-builds–>8.1.0–>threads-posix–>seh
这里下载的是64位、seh异常处理机制、POSIX线程的gcc包。
什么是MinGW-64?我也不清楚,只能贴过来一篇文章,c++有很多编译器,其他不做介绍。
2. 编辑器:vim,进入网址后点击Download再点击PC: MS-DOS and MS-Windows,再点击gvim82.exe(ftp)完成下载
MinGW-64安装过程
把下载好的x86_64-8.1.0-release-posix-seh-rt_v6-rev0解压,得到文件夹mingw64,然后把mingw64随便放到一个目录下,把mingw64目录下的bin添加环境变量即可。
我把mingw64放到了E盘,具体操作如下:
1.鼠标右键点击电脑,点击属性
2.点击高级系统设置
3.点击环境变量
4.双击path
5.将bin目录添加到path中,然后全部确定。到此安装完成
6.测试是否安装完成,在命令行输入
gcc -v,可以看到版本信息。
7.helloword程序测试,将这段代码写入hello.cpp文件中,把hello.cpp放到桌面,用g++命令编译,生成a.exe文件,执行a.exe输出"HELLO WORLD"。注意了,编译的时候不能使用gcc命令,虽然gcc命令可以编译c++源码,但是它不能自动链接c++的函数库。
#include<iostream> using namespace std; int main() { cout<<"HELLO WORLD"<<endl; return 0; }
vim安装以及配置
- 安装 vim
程序安装:点开gvim82.exe一直下一步就好。安装完成后会生成一系列的vim编辑器。
环境变量配置:和上面MinGW-64配置环境变量一样,把vim目录下的vim82添加到环境变量path中,然后确定。
什么是vim?,vim如何使用?vim学习成本很高,我正在想为什么要写这篇博客,开弓没有回头箭,一直做下去吧,
2. 把vim打造成为一个c/c++开发的IDE
vim可以通过自己定制,成为一个顺手的c/c++程序编写工具。我不使用插件,只需要修改配置文件,把我的配置文件复制粘贴到vim目录下的_vimrc中,将原来的内容覆盖,就能达到一样的效果。
我要在vim中实现的功能:
-
F2为一键java,c,c++,sh文件添加文件头
-
F5一键保存、编译、运行(支持java,c,c++,sh)
-
F8编译调试
-
语法高亮。自动识别代码,使用多种颜色显示。
- …
配置文件_vimrc内容,下载解压后替换掉原来vim目录下的_vimrc文件也可以。
这个配置文档是使用"做注释的:
" Vim with all enhancements source $VIMRUNTIME/vimrc_example.vim " Remap a few keys for Windows behavior source $VIMRUNTIME/mswin.vim " Use the internal diff if available. " Otherwise use the special 'diffexpr' for Windows. if &diffopt !~# 'internal' set diffexpr=MyDiff() endif function MyDiff() let opt = '-a --binary ' if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif let arg1 = v:fname_in if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif let arg1 = substitute(arg1, '!', '\!', 'g') let arg2 = v:fname_new if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif let arg2 = substitute(arg2, '!', '\!', 'g') let arg3 = v:fname_out if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif let arg3 = substitute(arg3, '!', '\!', 'g') if $VIMRUNTIME =~ ' ' if &sh =~ '\<cmd' if empty(&shellxquote) let l:shxq_sav = '' set shellxquote& endif let cmd = '"' . $VIMRUNTIME . '\diff"' else let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"' endif else let cmd = $VIMRUNTIME . '\diff' endif let cmd = substitute(cmd, '!', '\!', 'g') silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 if exists('l:shxq_sav') let &shellxquote=l:shxq_sav endif endfunction " 上面的是默认配置,下面是手动添加的。 set encoding=utf-8 "设置文件的代码形式 utf8 set termencoding=utf-8 set fileencoding=utf-8 set fileencodings=ucs-bom,utf-8,chinese,cp936 set shortmess=atI " 启动时关闭公益广告 set number " 显示行号 syntax on " 打开语法高亮。自动识别代码,使用多种颜色显示。 set t_Co=256 "启用256色 set cursorline "光标所在行高亮 "set wrap "自动拆行,一行太长的代码分行显示(已经注释,要使用把set前面的分号删除) set autoindent " 自动缩进 set cindent set tabstop=4 " Tab键的宽度 set softtabstop=4 " 统一缩进为4 set shiftwidth=4 set noexpandtab " 不要用空格代替制表符 set smartindent " 为C程序提供自动缩进 colorscheme evening " 设置配色方案 map <C-A> ggVGY "映射全选 ctrl+A vmap <C-C> "+y "映射复制 ctrl+C map <C-V> "+gP "映射粘贴ctrl+V set noundofile "不生成撤销历史 set nobackup "不生成备份文件 set noswapfile "不生成交换文件,主要用于系统崩溃时恢复文件 if version >= 603 " 显示中文帮助 set helplang=cn set encoding=utf-8 endif set noerrorbells "出错时,不要发出响声 set visualbell "出错时,发出视觉提示 set history=1000 "Vim 需要记住多少次历史操作 "vim的菜单乱码解决 source $VIMRUNTIME/delmenu.vim source $VIMRUNTIME/menu.vim "vim提示信息乱码的解决 language messages zh_CN.utf-8 "C,C++ 按F5编译运行 map <F5> :call CompileRunGcc()<CR> func CompileRunGcc() exec "update" if &filetype == 'c' exec "!gcc % -o %< & %<" elseif &filetype == 'cpp' exec "!g++ % -o %< & %<" elseif &filetype == 'java' exec "!javac % & java %<" elseif &filetype == 'sh' exec "!%" endif endfunc "C,C++的调试 map <F8> :call Rungdb()<CR> func! Rungdb() exec "!g++ % -g -o %<" exec "!gdb %<" endfunc "按F2给c,c++,java,sh添加文件头 map <F2> :call SetTitle()<CR> func SetTitle() if &filetype == 'c' call setline(1,"\#include <stdio.h>") call setline(2,"\#include <stdlib.h>") call setline(3,"") call setline(4,"int main()") call setline(5,"{") call setline(6,"\tprintf(\"Hello world!\\n\");") call setline(7,"\treturn 0;") call setline(8,"}") call setline(9,"") elseif &filetype == 'cpp' call setline(1,"\#include <iostream>") call setline(2,"") call setline(3,"using namespace std;") call setline(4,"") call setline(5,"int main()") call setline(6,"{") call setline(7,"\tcout << \"Hello world!\" << endl;") call setline(8,"\treturn 0;") call setline(9,"}") call setline(10,"") elseif &filetype == 'java' call setline(1,"public class ".expand("%<")." {") call setline(2,"\tpublic static void main(String[] args){") call setline(3,"\t\tSystem.out.println(\"Hello World\");") call setline(4,"\t}") call setline(5,"}") elseif &filetype == 'sh' call setline(1, "\#!/bin/bash") call setline(2, "") endif :$ endfunc
配置这个文件参考了网上许多的资料下面贴出来一些把
Vim 配置入门、在VIM下写C++能有多爽、Vim的终极配置方案,完美的写代码界面!…
- 点赞 3
- 收藏
- 分享
- 文章举报
相关文章推荐
- windows+CMake+mingw 搭建c c++开发环境
- Windows 使用MinGW 搭建C/C++开发环境
- 转:使用eclipse(v3.01)与mingw(v3.1.0)搭建Windows下C/C++开发环境
- Windows使用MinGW搭建C/C++开发环境 (二)转载
- Windows使用MinGW搭建C/C++开发环境
- Windows下用eclipse和mingw开发C/C++的开发环境搭建(转载)
- 使用mingw在windows下搭建c/c++ IDE简单开发环境
- 使用eclipse(v3.01)与mingw(v3.1.0)搭建Windows下C/C++开发环境
- Windows下用eclipse和mingw开发C/C++的开发环境搭建(转载)
- windows+CMake+mingw 搭建c c++开发环境
- Windows下用Eclipse搭建C/C++开发环境
- Windows下eclipse配制C/C++开发环境(eclipse+cdt+mingw)
- 在windows上搭建C语言开发环境——借助eclipse和MinGW
- 图文详解如何搭建Windows的Android C++开发环境
- Windows下NDK开发环境搭建,Eclipse+ADT+CDT+MINGW+NDK
- 图文详解如何搭建Windows的Android C++开发环境(一)
- 如何在Windows平台使用VS搭建C++/Lua的开发环境
- C++开发安卓、windows下搭建Android NDK开发环境
- Qt Creator+MinGW+OpenCV2.3.1 开发环境搭建(windows 7 系统)
- Windows下搭建MinGW+GTK开发环境