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)。

相关推荐
万粉变现经纪人1 天前
如何解决 pip install -r requirements.txt 私有索引未设为 trusted-host 导致拒绝 问题
开发语言·python·scrapy·flask·beautifulsoup·pandas·pip
专业软件系统开发1 天前
药品说明书查询系统源码 本地数据库 PHP版本
数据库·查询系统源码·说明书查询源码
qq_479875431 天前
C++ std::Set<std::pair>
开发语言·c++
云知谷1 天前
【C++基本功】C++适合做什么,哪些领域适合哪些领域不适合?
c语言·开发语言·c++·人工智能·团队开发
电子_咸鱼1 天前
LeetCode——Hot 100【电话号码的字母组合】
数据结构·算法·leetcode·链表·职场和发展·贪心算法·深度优先
仰泳的熊猫1 天前
LeetCode:785. 判断二分图
数据结构·c++·算法·leetcode
^Moon^1 天前
CycloneDDS:跨主机多进程通信全解析
c++·分布式·dds
rit84324991 天前
基于MATLAB实现基于距离的离群点检测算法
人工智能·算法·matlab
冉冰学姐1 天前
SSM足球爱好者服务平台i387z(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·ssm 框架·足球爱好者服务平台
l1t1 天前
DeepSeek辅助利用搬移底层xml实现快速编辑xlsx文件的python程序
xml·开发语言·python·xlsx