VS Code配置MinGW64编译SQLite3库

VS Code用MinGW64编译C++代码安装MSYS2软件并配置SQLite3库和测试引用库代码的完整具体步骤。


1. 安装 MSYS2

  1. 下载安装包:
    • 访问 MSYS2 官网
    • 下载 msys2-x86_64-xxxx.exe(最新版)
  2. 安装:
    • 运行安装程序,按提示操作(默认路径 C:\msys64
  3. 更新包数据库
    • 打开 MSYS2 MSYS(开始菜单中)

    • 执行:

      bash 复制代码
      pacman -Syu
    • 关闭终端,重新打开 MSYS2 MSYS ,再次执行:

      bash 复制代码
      pacman -Su

2. 安装 MinGW64 工具链和 SQLite3

  1. 打开 MSYS2 MinGW x64 终端(非 MSYS 终端!)

  2. 安装编译器和 SQLite3:

    bash 复制代码
    pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-sqlite3

3. 配置 VS Code

(1) 设置环境变量
  • 将 MinGW64 的 bin 目录添加到系统 PATH
    • 路径示例:C:\msys64\mingw64\bin
    • 操作步骤
      1. Win + S 搜索 "环境变量" → 编辑系统环境变量
      2. Path 中添加 C:\msys64\mingw64\bin
(2) 安装 VS Code 扩展
  • 安装官方扩展:C/C++

4. 配置 VS Code 项目

(1) 创建项目结构
复制代码
your_project/
  ├── .vscode/
  │    ├── tasks.json   (编译配置)
  │    └── c_cpp_properties.json (IntelliSense 配置)
  ├── main.cpp          (测试代码)
  └── Makefile          (可选)
(2) 配置 c_cpp_properties.json
json 复制代码
{
  "configurations": [
    {
      "name": "Win32",
      "includePath": [
        "${workspaceFolder}/**",
        "C:/msys64/mingw64/include/**"  // SQLite3 头文件路径
      ],
      "compilerPath": "C:/msys64/mingw64/bin/g++.exe",
      "cStandard": "c17",
      "cppStandard": "c++17",
      "intelliSenseMode": "windows-gcc-x64"
    }
  ],
  "version": 4
}
(3) 配置 tasks.json(编译任务)
json 复制代码
{
  "version": "2.0.0",
  "tasks": [
    {
      "type": "cppbuild",
      "label": "Build with SQLite3",
      "command": "g++",
      "args": [
        "-g",
        "${file}",
        "-o",
        "${fileDirname}/${fileBasenameNoExtension}.exe",
        "-I", "C:/msys64/mingw64/include",   // 头文件路径
        "-L", "C:/msys64/mingw64/lib",       // 库文件路径
        "-lsqlite3"                          // 链接 SQLite3
      ],
      "options": {
        "cwd": "C:/msys64/mingw64/bin"      // 确保运行时能找到 DLL
      },
      "problemMatcher": ["$gcc"],
      "group": {
        "kind": "build",
        "isDefault": true
      }
    }
  ]
}

5. 测试代码

(1) 创建 main.cpp
cpp 复制代码
#include <iostream>
#include <sqlite3.h>

int main() {
    // 测试 SQLite3 版本
    std::cout << "SQLite Version: " << sqlite3_libversion() << std::endl;
    
    // 测试数据库连接
    sqlite3 *db;
    int rc = sqlite3_open(":memory:", &db);
    
    if (rc == SQLITE_OK) {
        std::cout << "Database opened successfully!" << std::endl;
        sqlite3_close(db);
    } else {
        std::cerr << "Error opening database: " << sqlite3_errmsg(db) << std::endl;
    }
    
    return 0;
}
(2) 编译运行
  1. 在 VS Code 中打开 main.cpp
  2. 编译 :按 Ctrl+Shift+B 执行编译任务
  3. 运行
    • 在终端中执行:

      bash 复制代码
      ./main.exe
    • 或使用 VS Code 调试功能(按 F5


6. 验证输出

成功时输出:

复制代码
SQLite Version: 3.xx.x
Database opened successfully!

常见问题解决

  1. 找不到 sqlite3.h

    • 检查 c_cpp_properties.json 中的 includePath 是否指向 C:/msys64/mingw64/include
  2. 链接失败(undefined reference)

    • 确保 tasks.json 中已添加 -L C:/msys64/mingw64/lib -lsqlite3
  3. 运行时缺少 sqlite3.dll

    • C:\msys64\mingw64\bin\sqlite3.dll 复制到项目目录
    • 或永久添加 C:\msys64\mingw64\bin 到系统 PATH
  4. MSYS2 更新后路径变化

    • 所有配置中的路径保持 C:/msys64/...(使用正斜杠)

关键提示 :始终使用 MSYS2 MinGW x64 终端安装库,并在 VS Code 中配置正确的 MinGW64 路径(C:/msys64/mingw64)。

相关推荐
老纪的技术唠嗑局5 分钟前
Agent 习惯性删库跑路,数据库纷纷学 Git 续命
数据库·人工智能
Data_Journal23 分钟前
使用 AutoScraper 进行网页抓取:分步教程
大数据·开发语言·数据库·python·scrapy
CodeRecycle24 分钟前
Python 自动配置 pip 支持库(通过 Windows Bat 脚本)
算法
yume_sibai40 分钟前
12-Rust 性能优化指南(性能分析 + 内存优化 + SIMD + 并发优化 + 编译器优化 + 基准测试)
开发语言·性能优化·rust
liliangcsdn41 分钟前
特质偏度因子的计算示例和分析
算法
萧瑟余晖1 小时前
Hibernate 核心原理与架构详解
开发语言·架构·hibernate
爱喝水的鱼丶1 小时前
SAP-ABAP:SAP MM 模块物料主数据批量导入与增强开发:字段扩展、校验逻辑与批量导入工具开发
开发语言·性能优化·sap·abap·增强·经验交流·mm
geovindu1 小时前
rust:Builder Pattern
开发语言·设计模式·rust·建造者模式
白远山1 小时前
健身场馆无人自动化解决方案:从架构到落地实践
java·开发语言·数据库·数据挖掘·需求分析
虎虎(_ _)。゜zzZ1 小时前
SQLAlchemy入门教程
数据库·后端·python·sql·ai·sqlalchemy