mingw w64 v8.0.0_使用Visual Studio Code和MinGW编译运行C++代码

569e81553fc2d2fc89251ce20c653a57.png

官网:《Using Mingw in Visual Studio Code》,本文稍做了简化,喜英文版可直接移步。

工具准备

首先应该准备如下工具:

  1. 安装对应版本的Visual Studio Code。
  2. 安装VS Code上的C++扩展:C++ extension for VS Code。
  3. 下载MinGW-w64,考虑到是外网资源,建议选择离线版本,在线安装比较慢,不太稳定。

822783d76ef224dd1e55f5d89ba000f3.png
MinGW-w64 - for 32 and 64 bit Windows

4.将MinGW的bin目录添加至环境变量,本文为 D:MinGWmingw64bin

0f6f3993534299ba812f919c58f6cbf1.png
环境变量

测试:输入控制台指令

gcc -v

9e25507201ddf79bb2502288af1bc22d.png
测试结果

上述步骤,基本准备工作结束。

创建 workspace

1.创建工作目录,可以通过控制台指令逐步创建,也可以自己建好文件夹:

本文为测试,在桌面创建了如下文件夹 (C:UsershaiDesktopVSCodeWorkhelloworld):

ada6b0ffe260d9b2a2caa6a5d4e9849d.png
工作目录

2.输入下述控制台指令,打开到指定文件夹,并在指定文件夹内打开VS Code:

cd C:UsershaiDesktopVSCodeWorkhelloworld
code .

01cb888d37f370273ce50b1af234cfcf.png
执行结果

76d922108b7a54331366081dabb7c9b3.png
执行 "code ." 指令后,打开的vs code界面

3.执行快捷键 Ctrl+Shift+P 或者 在View菜单下,打开Command Palette...菜单,输入并选择 C/C++: Edit Configurations (JSON):

4efcf2df7e1e333555662e71b55b6622.png
json 配置脚本

d6b2a2b40a85f5e26f44b0491d2bbf4b.png
打开后的配置文件

此时,会在工作路径下生成一个【.vscode】文件夹,并且文件夹内包含一个名为c_cpp_properties.json的脚本文件,如上图。此时,需要就上图中某些选项进行修改:

  • 将"compilerPath"设置为MinGW相应目录,本文为:D:/MinGW/mingw64/bin/g++.exe
  • "intelliSenseMode" 设置为 "gcc-x64"
  • "includePath" ,关于该项,很多教程中给出了相应的设置方式,但是这个视具体情况而定,本文暂时不需要。
{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "windowsSdkVersion": "10.0.17763.0",
            "compilerPath": "D:/MinGW/mingw64/bin/g++.exe",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "gcc-x64"
        }
    ],
    "version": 4
}

创建 Build Task

这个相对简单,在与上述配置文件同目录下,可以自行创建一个名为tasks.json的文件,然后将下述代码拷入其中即可:

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build hello world",
            "type": "shell",
            "command": "g++",
            "args": [
                "-g",
                "-o",
                "helloworld",
                "helloworld.cpp"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

其他参数相对好理解,也不需要太过计较,下述几个参数可以注意一下:

  • "label" 表示在VS Code Command Palette中显示的名字,可根据需要随意设定;
  • "group"对象下的"isDefault"取true时,表示可通过快捷键Ctrl+Shift+B快速运行该task;
  • 注意修改"args"中的参数,以匹配项目,其中第三项为可执行文件名称(helloworld.exe),第四项为源代码文件(helloworld.cpp)。

添加源代码文件

在工程目录下,本文为C:UsershaiDesktopVSCodeWorkhelloworld

添加名为helloworld.cpp文件,此名称与tasks.json中保持一致,具体代码如下:

#include <iostream>

using namespace std;

int main(int argc, char** argv)
{
    cout << "Hello World!" << endl;
}

编译并生成exe

定位到tasks.json文件,使用快捷键Ctrl+Shift+B执行该文件,可创建成功。

此时在cpp文件同目录下,会生成名为 helloworld.exe 的可执行文件,与配置文件设置的文件名相同。

0f5ad1cba8b5ad6405c5b29a2178eeeb.png
创建成功后如上图所示

调试设置

定位到 helloworld.cpp 文件,按快捷键 F5, 选择 C++(GDB/LLDB), 然后选择 g++.exe build and debug active file

02e3d7b96e1dfa58ccbe5389fb5a9428.png
配置调试相关设置

037bf3a88a2328c4e29cbfcba0e062c4.png
配置调试相关设置

等待结束,会在【.vscode】文件夹下,自动生成一个名为"launch.json"的配置文件:

1878cee167ac6461e79601dfcae31cf2.png
launch.json
{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "g++.exe build and debug active file",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "D:MinGWmingw64bingdb.exe",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "g++.exe build active file"
        }
    ]
}

注意,本文的配置方式与官方在顺序上稍有区别,本文将"launch.json"放在最后,是因为在按快捷键Ctrl+Shift+B创建完成项目后,再创建的"launch.json"文件中,系统自动填充了 "miDebuggerPath" 和 "program" 等对象,不需要自行设定,保持默认即可。

stopAtEntry是断点相关设置,一般设置为true。

运行程序

运行程序方式有很多,简单给出两种方式:

1.VS Code自带执行:在Debug菜单下选择 Start Without Debugging 或者快捷键 Ctrl+F5,可以简单预览结果。

820f981feaa61f02f4b736b3acff22f0.png

设置断点时,可以选择 Start Debugging 或者快捷键 F5,可以进行简单的断点调试。

2.扩展工具:安装Code Runner扩展工具,完成后,直接在cpp中鼠标右键选择Run Code即可运行。

c1a0aee7bc56ba1af5b50fec5dea8135.png
扩展安装

daa36257e7e147d96a7d6e26d506d98c.png
运行结果

扩展和使用

上文中的初次配置可能稍微麻烦点,但是后续使用就简单的多了。

例如现在想另起一个工程目录,新建一个测试用例,那么只需要以下4步:

  1. 将【.vscode】文件夹整体拷入新的工程文件夹内 (包含c_cpp_properties.json, launch.json,tasks.json三个配置文件);
  2. 控制台打开到工程文件夹目录,并通过"code ."指令打开VS Code;
  3. 修改tasks.json中"tasks"对象下的 "label" 和 "args"参数;
  4. 执行。

其实tasks.json中的"label"对象如果不是必须的话,可以命名为一个通用的名字,如“build My Task”等,就可以略去每次都修改该参数了。

其他参数个人感觉也可以通过vs code中的 预定义变量 进行优化,通过系统自动获取名称或路径,以达到进一步简化扩展的目的,仅是一个想法,有兴趣的可尝试。

85a553c0852bf619e2cffedb61e3b80a.png

设置默认终端

因为测试程序也不太复杂,就选择了VS Code默认终端,但若习惯像visual studio中弹出终端,可以将 launch.json 中的 "externalConsole" 设置为 true,就可以实现了。

稍微调整了下代码,按 Ctrl+F5 执行结果如下图:

71ff9472f9b3ee7ae0892732ddee631b.png

以上。

评论区各位前辈给出了许多好的解决方案,学到了很多,也扩展了个人思路,有些也是我一直感兴趣的工具,陆续会尝试使用,学无止境,感谢大家!

Mingw-w64是一个Windows版本的跨平台编译工具集合,它包含了GCC、LLVM等编译器,而v8.0.0.zip通常是指V8 JavaScript引擎的一个特定版本的源码打包文件。如果你想要使用这个安装包,这里是一些基本步骤: 1. 解压文件:首先,你需要下载并解压缩mingw-w64-v8.0.0.zip到一个方便的位置,比如你的项目文件夹。 2. 安装MinGW-w64:确保已经安装了MinGW-w64环境,因为它包含了必要的编译工具。你可以从mingw-w64官方网站上下载并按照指示进行安装。 3. 配置构建系统:对于V8源码,你可能需要配置cmake或configure脚本来设置构建选项。这通常涉及到创建一个CMakeLists.txt文件,并指定V8源目录以及目标平台。 ```sh cmake . -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_RC_COMPILER="rc" -DV8_TARGET_ARCH=x64 ``` 4. 构建V8运行`cmake --build .` 或 `make`命令开始编译过程。这可能需要一段时间,取决于你的硬件性能。 5. 安装或链接:编译完成后,可能会有库文件(如libv8.a或v8.dll)可供链接到你的项目,或是通过`install`目标将它们复制到合适的目录。 6. 使用V8:在你的项目中,通过包含编译后的头文件,并链接相应的库,就可以开始利用V8的JavaScript功能了。 请注意,具体的步骤可能会因V8的更新、版本差异或个人项目的特性有所不同。如果你遇到问题,可以查阅V8的官方文档,或者在网上搜索相关的教程和论坛贴子寻求帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值