搭建虚拟机下的Ubuntu中的C++开发环境(VMware+VScode)

记录一下踩的坑以防下次备用

一、安装虚拟机

安装虚拟机时,首选新版本的VMware(17及以上),使用以下的可能出现兼容性问题导致蓝屏

为防止蓝屏需要就行以下操作(虽然我没有成功,依然蓝屏了)

注意:使用以下方法可能无法完美解决蓝屏问题,所以强烈建议使用高版本VMware,重复安装VMware将会出现卸载残留问题,之后又是一堆麻烦事情,可能会使得之后的安装不成功!!!(补充,经过卸载并删除文件夹以及清除注册表后,安装新版本的时候多等待一会就好了)

1、按下windows键输入 windows功能,将Hyper-V前面的复选框取消勾选、勾选Windows虚拟机监控程序平台或虚拟机平台(暂时未测试需要如何解决我遇到的问题--补充 经过重新安装最新版本17已解决!)

2、按下windows+R,输入services.msc,进入服务,将HV相关的都禁用

3、若以上方法还未能解决蓝屏问题进行以下尝试:

右键虚拟机,单击属性,点击兼容性,并选择Win8(本电脑为Win10)

4、卸载VMware

        1、关闭所有运行的虚拟机

        2、停止服务:打开任务管理器,结束名字带VMware的服务

        3、按下Windows键,输入控制面板,在“程序”->“卸载程序”中找到VMware,右键,点击更改

        4、检查C:\Program Files (x86)\VMware 和 C:\Users[用户名]\AppData\Roaming\VMware 路径下的文件夹,如果有不需要的数据或配置文件,可以删除。

        5、使用注册表编辑器,在HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\VMware 或 HKEY_CURRENT_USER\Software\VMware 或HKEY_LOCAL_MACHINE\SOFTWARE\VMware下寻找与VMware相关的键值,删除。

        6、:有些情况下,卸载后可能还会有VMware的驱动程序残留在设备管理器里,进入设备管理器,展开“系统设备”或“非即插即用设备”,查看是否有 VMware 的设备项,选择后卸载。

        7、重启电脑。

二、安装Ubuntu桌面版

使用快捷键 ctrl + alt + T 打开终端,在光标处于终端时,使用 ctrl + shift + N 打开新的终端

1、寻找镜像网站下载iso文件

中科大http://mirrors.ustc.edu.cn/ubuntu-releases/

aliyun : http://mirrors.aliyun.com/ubuntu-releases/

2、选择需要使用的Linux镜像并下载(建议桌面版),打开VMware进行安装即可

3、安装VScode

4、更新 apt-get

        1、编辑/etc/apt/sources.list文件,在命令行中输入: sudo vi /etc/apt/sources.list 或者 sudo gedit /etc/apt/sources.list 推荐使用后者。

        2、在上面打开的文件开头添加(中科大的源)

deb http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
之后进行保存,见下图:

然后执行 sudo apt-get update 命令,若遇到没有公钥,无法验证签名则需要执行命令sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32
替换为你报错里面的信息,
然后再执行 sudo apt-get update 命令!

5、安装 gcc 和 g++ 和 gdb

执行命令:sudo apt-get install gcc g++ gdb

使用 gcc -v; g++ -v; gdb -v 查看是否安装成功 v是小写

6、打开vs code 安装 C++ 插件

1、在终端输入 code 打开 vs code 软件,点击 choose your theme选择主题,然后点击 Rich support for all your languages,然后选择 C/C++ Extension Pack

2、搜索 chinese 添加中文(点击install) 然后安装好后会弹出 Change Language and Restart 点击

3、安装code runner 这样就能运行你的代码了(但是不能调试)

安装好后在vs code 中的齿轮图标中选择设置 搜索 code runner run in terminal 将其勾选上

然后重启VS code,创建一个文件夹C++Learn,并添加一个test.cpp文件,再在右上角三角形图标处进行运行测试:(注意在终端里的输出是你程序运行后的cout窗口,不是调试控制台!!!)

三、调试 C++程序

        在准备好的C++Learn文件夹中新建.vscode文件夹,在.vscode文件夹下新建两个文件。一个叫launch.json,另一个叫tasks.json。以后在别的文件夹中你要调试都要重建.vscode子文件夹并配置

// launch.json
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C/C++",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "preLaunchTask": "compile",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}
// task.json
{
    "version": "2.0.0",
    "tasks": [{
            "label": "compile",
            "command": "g++",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "problemMatcher": {
                "owner": "cpp",
                "fileLocation": [
                    "relative",
                    "${workspaceRoot}"
                ],
                "pattern": {
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            },
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

ok!现在就能够打断点并进行调试了。

  • 13
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值