当前位置 : 主页 > 网络编程 > PHP >

0_win10子系统Ubuntu18创建 C/C++编译编辑环境

来源:互联网 收集:自由互联 发布时间:2023-09-07
之所以用win10子系统Ubuntu ​​这里就不多说了, 请转​​ C++编辑编译环境说明 方案 软件 优点 安装 方案一 VScode 链接到Ubuntu, 能够在VScode中打开Ubuntu的命令行 软件关键或者官网一搜 方


之所以用win10子系统Ubuntu

​​这里就不多说了, 请转​​

C++编辑编译环境说明

方案

软件

优点

安装

方案一

VScode

链接到Ubuntu, 能够在VScode中打开Ubuntu的命令行

软件关键或者官网一搜

方案二

sublime

轻量级 , 快捷, 舒服

​​点击跳转​

说明

  • win10子系统Ubuntu18.04上面的gcc/g++编译器
    ​​​gcc -v​​​ --> ​​gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)​
  • 没有的可以​​sudo apt install gcc && sudo apt install g++​

方案一. VScode

利用​​VScode插件WSL​​​远程链接, 链接到本地子系统Ubuntu, 利用Ubuntu里面的​​gdb​​进行调试

1.1 VScode插件

  • Remote - WSL
  • 0_win10子系统Ubuntu18创建 C/C++编译编辑环境_ubuntu

  • C/C++
  • 0_win10子系统Ubuntu18创建 C/C++编译编辑环境_g++_02

1.2 Ubuntu软件

  • gcc
  • gdb ​​sudo apt install gdb​

1.3 VScode链接ubuntu

点击左下角的箭头, 会出现右上角的打开远程WSL连接, 点击新建窗口就可以连接到Ubuntu-18.04

0_win10子系统Ubuntu18创建 C/C++编译编辑环境_ubuntu_03

1.4 编译环境配置

a. 新建文件test.cpp

#include <iostream>
using namespace std;

int main(int argc, char const *argv[])
{
printf("%s\n", "hello world");
return 0;
}

点击F5, 会提示你新建launch.json运行文件
点击确定它会自动新建运行配置文件
如下json文件

{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "g++ - 生成和调试活动文件",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "C/C++: g++ build active file",
"miDebuggerPath": "/usr/bin/gdb"
}
]
}

b. 调试

设置断点

Ctr+F5

0_win10子系统Ubuntu18创建 C/C++编译编辑环境_g++_04


如果提示miDebuggerPath错误, 应该是Ubuntu没有安装gdb导致的

方案二. sublime(不能debug)

  • 工具->编译系统->新建编译系统

    保存为下面内容, 另存为WSLg++.***
{
"cmd" : ["bash", "-c", "g++ ${file_name} -o ${file_base_name} && ./${file_base_name}"],
"shell": true,
"working_dir": "${file_path}",
}
#include <iostream>
#include <stdio.h>
#include <vector>
#include <map>

using namespace std;
int main(int argc, char const *argv[])
{
printf("%s\n", "hello");
return 0;
}

ctr+B


上一篇:使用NUGet自动下载(还原)项目中使用的包
下一篇:没有了
网友评论