三、编译 (Qt6版)
1. 配置sqldrivers项目 (cmake)
Qt6源码不再有.pro文件,而是CMakeLists.txt,所以需要使用cmake配置
首先需要保证cmake在我们当前的命令行环境可以直接运行
如果不行的话需要将cmake的路径添加到PATH,比如这边我使用的是Qt在线安装包中提供的cmake
set PATH=%PATH%;C:\Qt\Tools\CMake_64\bin
然后用qt-cmake工具配置,跟Qt5一样也是全部sql插件一起配置:
qt-cmake -G "<项目类型>" <Qt6源码目录>\qtbase\src\plugins\sqldrivers -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INCLUDE_PATH="<库目录>\include" -DCMAKE_LIBRARY_PATH="<库目录>\lib"
在Qt文档里项目类型这边用的是Ninja,因为我没有装Ninja,所以我选择还是生成跟qmake一样的Makefile文件,所以MinGW版的话用“MinGW Makefiles”,MSVC版的话用“NMake Makefiles”
注意1:这样配置生成的默认安装目录是无盘符的Qt路径(比如"/Qt/6.6.0/mingw_64"),所以如果Qt目录和当前编译目录不在一个盘的话默认安装目录就是错误的,遇到这种情况,就需要再加上--install-prefix或者-DCMAKE_INSTALL_PREFIX=设置安装目录,比如: --install-prefix "C:/Qt/6.6.0/mingw_64"
注意2:如果是MinGW版的话这边还有一个坑,就是库目录路径中不能有空格,否则后面编译时会报错
运行结果如图:
MySql右边是yes,配置成功,可以继续
2. 编译MySQL插件
使用cmake时不需要再指定编译工具了,直接用cmake的编译命令,这边我们只编译mysql子项目
cmake --build mysql
运行结果如图:
可以看到dll(和调试文件)生成在了当前目录的plugins\sqldrivers下
再运行以下命令将编译的插件安装到安装目录(参考上面的注意1,别装错目录了)
cmake --build mysql --target install