You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编译QMYSQL驱动时CMAKE_CXX_COMPILER设置及编译器错误解决

解决Qt编译QMYSQL驱动时CMake识别不到编译器的问题

核心原因

你使用的是msvc2019_64版本的Qt,但启动编译时未加载VS2022的编译器环境,导致CMake无法识别C/C++及汇编编译器。

解决步骤

1. 启动VS开发者命令提示符

找到并打开Visual Studio 2022的x64 Native Tools Command Prompt(必须是x64版本,和你的Qt架构保持一致)。这个工具会自动配置好VS编译器的环境变量,让CMake能直接识别到所需编译器。

2. 在开发者命令提示符中执行编译命令

不要在普通cmd或PowerShell中运行命令,切换到VS的开发者命令提示符后,再执行你的qt-cmake命令:

D:\Qt\6.5.1\msvc2019_64\bin\qt-cmake -G Ninja D:\Qt\6.5.1\Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=D:\Qt\6.5.1\mariadb -DMySQL_INCLUDE_DIR="C:\Program Files\MariaDB\MariaDB Connector C 64-bit\include" -DMySQL_LIBRARY="C:\Program Files\MariaDB\MariaDB Connector C 64-bit\lib\libmariadb.lib"

3. 手动指定编译器(备选方案)

若开发者命令提示符方案无效,可在cmake命令中手动指定C/C++编译器路径:

  • 找到VS2022的cl.exe路径,一般位于C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\<版本号>\bin\Hostx64\x64\cl.exe
  • 修改qt-cmake命令,添加-DCMAKE_C_COMPILER和-DCMAKE_CXX_COMPILER参数:
D:\Qt\6.5.1\msvc2019_64\bin\qt-cmake -G Ninja D:\Qt\6.5.1\Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=D:\Qt\6.5.1\mariadb -DMySQL_INCLUDE_DIR="C:\Program Files\MariaDB\MariaDB Connector C 64-bit\include" -DMySQL_LIBRARY="C:\Program Files\MariaDB\MariaDB Connector C 64-bit\lib\libmariadb.lib" -DCMAKE_C_COMPILER="C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\<版本号>\bin\Hostx64\x64\cl.exe" -DCMAKE_CXX_COMPILER="C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\<版本号>\bin\Hostx64\x64\cl.exe"

注意将<版本号>替换为你实际安装的MSVC版本,比如14.38.33130。

额外提示

  • Qt的msvc2019_64版本与VS2022编译器兼容,MSVC2022可向下兼容2019的编译目标,无需担心版本冲突。
  • 确保Ninja工具可用(Qt通常会自带,若缺失可单独下载安装并添加到系统环境变量)。

内容的提问来源于stack exchange,提问作者tango

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 15:32:35