D:\QT\5.14.2\msvc2017_64\mkspecs\features\qt_plugin.prf:59: error: Cannot write file D:\mkspecs\modules-inst\qt_plugin_qsqlmysql.pri: Cannot create parent directory
使用vs+qt连接mysql数据库时报错该如何办理?
首先使用qDebug()<<QSqlDatabase::drivers();命令看看有没有安装mysql驱动
编译器的输出为
没看到QMYSQL,说明没有安装这个驱动
当 Qt 应用步调没有找到 QMYSQL 驱动时,往往是因为 MySQL 驱动未被编译,下面详细解释手动编译 MySQL 驱动的步骤及原理。
前提条件
要编译 MySQL 驱动,需要满意以下两个重要条件:
- 安装 Qt 源码:Qt 默认安装包中大概不包含编译好的 MySQL 驱动,以是需要下载 Qt 的源码包。你可以从 Qt 官方网站(Open Source Development | Open Source License | Qt )下载得当你体系的 Qt 源码版本。
- 安装 MySQL 开发库:编译 MySQL 驱动依靠于 MySQL 开发库,该库包含了编译所需的头文件(如 mysql.h)和库文件(如 libmysql.lib 或 libmysqlclient.so)。你可以从 MySQL 官方网站(https://dev.mysql.com/downloads/installer/ )下载并安装得当你体系的 MySQL 版本,在安装过程中要确保选择安装开发组件。
详细步骤
1. 进入 MySQL 驱动源码目录
- cd <Qt 源码目录>/qtbase/src/plugins/sqldrivers/mysql
复制代码 解释:cd 是 Linux 和 macOS 体系中的命令,用于切换当前工作目录;在 Windows 体系的命令提示符或 PowerShell 中也有雷同的功能。<Qt 源码目录> 是你下载并解压的 Qt 源码所在的目录,进入该目录下的 qtbase/src/plugins/sqldrivers/mysql 子目录,这个目录包含了 MySQL 驱动的源码文件和项目文件。
2. 使用 qmake
生成 Makefile
- qmake
- "INCLUDEPATH+=<MySQL 安装目录>/include" "LIBS+=-L<MySQL 安装目录>/lib -lmysqlclient" mysql.pro
复制代码
- 解释:
- qmake
是 Qt 提供的一个工具,用于根据 .pro 项目文件生成 Makefile(在 Windows 上大概是 .vcxproj 文件),Makefile 包含了编译项目所需的指令和规则。
- INCLUDEPATH 是一个环境变量,用于指定编译器查找头文件的路径。"INCLUDEPATH+=<MySQL 安装目录>/include" 表示将 <MySQL 安装目录>/include 路径添加到编译器的头文件搜索路径中,这样编译器就能找到 mysql.h 等头文件。
- LIBS 是一个环境变量,用于指定链接器查找库文件的路径和要链接的库名。"LIBS+=-L<MySQL 安装目录>/lib -lmysqlclient" 表示将 <MySQL 安装目录>/lib 路径添加到链接器的库文件搜索路径中,并指定要链接 mysqlclient 库。
- mysql.pro 是 MySQL 驱动的项目文件,qmake
根据这个文件生成 Makefile。
3. 编译 MySQL 驱动
bash
- 解释:make
是一个常用的编译工具,它根据 Makefile 中的规则来编译项目。在 Windows 体系上,大概需要使用 nmake
命令,它是 Microsoft 提供的类似于 make
的工具。实验 make
命令后,编译器会根据 Makefile 中的指令编译 MySQL 驱动的源码文件,生成目标文件和终极的驱动库文件(如 qsqlmysql.dll 或 libqsqlmysql.so)。
4. 安装 MySQL 驱动
解释:make
install 命令会将编译好的 MySQL 驱动库文件安装到 Qt 的插件目录中,这样 Qt 应用步调就能找到并加载 QMYSQL 驱动。具体的安装路径取决于 Qt 的设置,一般在 <Qt 安装目录>/plugins/sqldrivers 目录下。
注意事项
- 路径题目:在实验上述命令时,要确保 <Qt 源码目录> 和 <MySQL 安装目录> 路径精确,并且路径中不包含中文或特殊字符,否则大概会导致编译失败。
- 权限题目:在 Linux 或 macOS 体系上,实验 make
install 命令大概需要管理员权限,可以使用 sudo make
install 来获取权限。
- 编译器版本:确保编译 Qt 和 MySQL 驱动时使用的编译器版本与运行步调时的环境一致,否则大概会导致兼容性题目。
如果出现qmake
: 无法将“qmake
”项识别为 cmdlet、函数、脚本文件或可运行步调的名称。请查抄名称的拼写,如果包括路径,请确保路径正 确,然后再试一次。
办理办法
1. 确认 qmake
已安装
要包管你已经精确安装了 Qt 开发工具包。你可以通过以下方式确认:
- 打开 Qt 安装目录,通常在 C:\Qt 或者其他自界说的安装路径下,查找是否存在 qmake
.exe 文件。一般来说,qmake
.exe 位于 <Qt 安装目录>\<Qt 版本>\<编译器版本>\bin 目录下,比方 C:\Qt\Qt5.15.2\msvc2019_64\bin。
2. 设置环境变量
若 qmake
已经安装,但体系无法找到它,需要将 qmake
所在的路径添加到体系的环境变量中。具体步骤如下:
- Windows 10/11:
- 右键点击 “此电脑”,选择 “属性”。
- 在左侧导航栏中点击 “高级体系设置”。
- 在弹出的 “体系属性” 窗口中,点击 “环境变量” 按钮。
- 在 “体系变量” 列表中,找到 “Path” 变量,选中它并点击 “编辑”。
- 在 “编辑环境变量” 窗口中,点击 “新建”,然后输入 qmake
.exe 所在的路径,比方 C:\Qt\Qt5.15.2\msvc2019_64\bin。
- 依次点击 “确定” 保存设置。
3. 手动指定 qmake
路径
如果你不想修改环境变量,也可以在命令行中手动指定 qmake
的完备路径。比方:
- "C:\Qt\Qt5.15.2\msvc2019_64\bin\qmake
- " "INCLUDEPATH+=D:\sql\mysql-8.0.36-winx64\include" "LIBS+=-L"D:\sql\mysql-8.0.36-winx64\lib" -lmysql" mysql.pro
复制代码
注意:路径中的双引号需要根据具体情况进行转义,确保路径被精确识别。
4. 重新打开命令提示符或 PowerShell
在修改环境变量后,需要重新打开命令提示符或 PowerShell,使环境变量的修改生效。然后再次实验实验 qmake
命令,查看题目是否办理。
通过以上步骤,应该可以办理体系无法识别 qmake
命令的题目。如果题目仍旧存在,大概需要查抄 Qt 安装是否精确,或者实验重新安装 Qt 开发工具包。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |