Windows 安装配置 Cygwin 在 Clion Vscode 下编译运行 C
一、前言
一开始在 Windows 上编译运行 C 用的是 MinGW,一堆毛病,比如输出中文乱码,在 Clion下输入后会自动输出,gcc 版本比较老等。换了用Cygwin后才发现这家伙真好,不仅没有上面的问题,还有一个包管理器能够选择很多不同版本的包。
二、安装
安装包的地址为:https://www.cygwin.com/setup-x86_64.exe





一路直走,路径选择合适的就行,到了选择镜像站的时候,最好选个国内的能快点,比如阿里云:

选择包的时候要注意,搜索gcc,gdb,make三个,双击第三列的Skip就可以选中了(默认是最新版),或者是用下拉菜单选用合适的版本


最后再选一个make就可以了

然后一直下一步,完成。
三、配置
将 Cygwin 的bin目录添加到环境变量Path,那里有我们刚刚下载的gcc,gdb和make
Win + S,搜索高级系统设置打开

修改环境变量

新建个环境变量

命名为CYGWIN_HOME(啥都行 Whatever)

找到Path后双击进行编辑

把 bin 目录添加进去

完成后一路确定,打开终端验证下:

四、Clion配置
打开 Clion 的设置,找到 Cmake,点击管理工具链

调试器的位置可能要自己指定一下,其它的会自动识别到

确定完成。
五、Vscode配置
插件市场搜索 C/C++ 下载

打开个项目,新建个.vscode目录(有可能会自动生成)
创建tasks.json
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: gcc 生成活动文件",
"command": "D:\\DevTools\\Cygwin\\bin\\gcc.exe",
"args": [
"-g",
"${file}",
"-o",
"${workspaceFolder}/out/${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": "build",
"detail": "编译器: D:\\DevTools\\Cygwin\\bin\\gcc.exe"
}
]
}
注意路径里的双斜杠,最终exe可执行文件是输出到out目录下的,所以在编译之前要创建个out目录。
创建launch.json
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "gcc - 生成和调试活动文件",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/out/${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "C/C++: gcc 生成活动文件",
"miDebuggerPath": "D:\\DevTools\\Cygwin\\bin\\gdb.exe",
"sourceFileMap":{
"/build/glibc-YYA7BZ/": "/new/path/to/build/glibc-YYA7BZ/"
}
}
]
}
创建c_cpp_properties.json
{
"configurations": [
{
"name": "Windows",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [],
"compilerPath": "D:\\DevTools\\MinGW\\mingw64\\bin\\gcc.exe",
"cStandard": "c11",
"cppStandard": "c++14",
"intelliSenseMode": "linux-gcc-x64",
"compilerArgs": [],
"browse": {
"path": [
"${workspaceFolder}/**"
],
"limitSymbolsToIncludedHeaders": true
}
}
],
"version": 4
}
vscode这种配置仅适合小程序,大型项目要配置Cmake,还没研究,以后再说。

浙公网安备 33010602011771号