当前位置: 首页 > news >正文

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(开始菜单中)
    • 执行:
      pacman -Syu
      
    • 关闭终端,重新打开 MSYS2 MSYS,再次执行:
      pacman -Su
      

2. 安装 MinGW64 工具链和 SQLite3

  1. 打开 MSYS2 MinGW x64 终端(非 MSYS 终端!)
  2. 安装编译器和 SQLite3:
    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
{"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(编译任务)
{"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
#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. 运行
    • 在终端中执行:
      ./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)。

http://www.dtcms.com/a/335726.html

相关文章:

  • uniappx 安卓端本地打包的一些总结
  • Sklearn 机器学习 邮件文本分类 计数器向量化文本
  • 学习游戏制作记录(玩家掉落系统,删除物品功能和独特物品)8.17
  • 论文投稿时,如何绘制插入无失真的图
  • 44.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--扩展功能--集成网关--网关集成认证(三)
  • 第七十九:AI的“急诊科医生”:模型失效(Loss Explode)的排查技巧——从“炸弹”到“稳定”的训练之路!
  • scikit-learn 中的均方误差 (MSE) 和 R² 评分指标
  • React 第七十节 Router中matchRoutes的使用详解及注意事项
  • 学习一下B树和B+树
  • map和join的用法
  • K8S集群环境搭建
  • [激光原理与应用-291]:理论 - 波动光学 - 相关光与不相干光:光的干涉不是随随便便就能产生的,需要满足严格的条件方能产生光的干涉(条纹)
  • 【科研绘图系列】R语言绘制探究浮游植物成熟阶段的光合作用与溶解性有机碳
  • OpenCV 图像处理核心技术:边界填充、算术运算与滤波处理实战
  • 在 Element UI 的 el-table 中实现某行标红并显示删除线
  • Leaflet赋能:WebGIS视角下的省域区县天气可视化实战攻略
  • Python训练营打卡Day35-复习日
  • 数据赋能(396)——大数据——抽象原则
  • 奈飞工厂无广告纯净版官方下载,最新官网入口
  • 常用的SQL语句
  • 使用vscode的task.json来自动执行make命令,而不直接使用终端
  • java八股文-(spring cloud)微服务篇-参考回答
  • 校园综合数据分析可视化大屏 -Vue纯前端静态页面项目
  • JavaScript字符串详解
  • 2025:AI狂飙下的焦虑与追问
  • 【数据分享】黑龙江省黑土区富锦市土地利用数据
  • 【C#补全计划】多线程
  • GitLab CI/CD、Jenkins与GitHub Actions在Kubernetes环境中的方案对比分析
  • 基于SpringBoot的在线拍卖系统,免费附源码
  • JMeter(入门篇)