使用MariadB在Windows上构建MySQL / QMYSQL插件的错误
Error Building MYSQL / QMYSQL Plugin on Windows with MariaDB
- 如何使此配置/构建过程工作?
- 为什么下面提到的不同QMAKE错误(如果可能的话)?
源代码(W/下载链接):
MariaDB 5.5.56
https://downloads.mariadb.org/mariadb/5.5.56/
Qt 5.7.1
https://download.qt.io/official_releases/qt/5.7/5.7.1/single/
i unzip&在以下目录中成功构建Mariadb 5.5.56:
D:Source_Code-Third_PartyMariaDBmariadb-5.5.56
Note: I "mkdir lib" and copy all ".lib"s into this folder post-build process.
i然后通过我写的批处理脚本使用以下命令:
set QMAKESPEC=win32-msvc2015
set _ROOT=
set VS2015PATH="C:Program Files (x86)Microsoft Visual Studio 14.0VC"
pushd %VS2015PATH%
call vcvarsall.bat x64
popd
set CL=/MP
set INSTPREFIX=D:Qt5.7.1
set OPENSSL_PATH=%usefulStuff%
set OPENSSL_LIBS=%usefulStuff%libs
set INCLUDE=%usefulStuff%include;%INCLUDE%
set LIB=%usefulStuff%lib;%LIB%
set LIBPATH=%usefulStuff%lib;%LIBPATH%
cd qtbase
configure.bat -skip qtwebengine -skip qtpurchasing -skip qtlocation -skip qtconnectivity -mp -confirm-licence -nomake tests -nomake examples -debug-and-release -opensource -shared -dbus -mp -openssl -qtzlib -plugin-sql-mysql -I %usefulStuff%include -L %usefulStuff%lib -prefix %INSTPREFIX%
cd srcpluginssqldriversmysql
set longDir=D:Source_Code-Third_Partyqt-everywhere-opensource-src-5.7.1
REM (QMAKE COMMAND THAT CAUSES ERROR)
%longDir%qtbasebinqmake "INCLUDEPATH+= D:/Source_Code-Third_Party/MariaDB/mariadb-5.5.56/include" "LIBS+=D:/Source_Code-Third_Party/MariaDB/mariadb-5.5.56/lib/libmysql.lib" mysql.pro
REM unsure if I should do an nmake here as well, or will the qtbasenmake take care of everything (including plugin)
REM nmake
cd ........
nmake
nmake install
使用上述(qmake错误命令),我得到错误:
Project ERRROR: No module claims plugin type 'sqldrivers'
当我将(qmake error命令)更改为以下(使用不同的qmake)时:
%longDir%qtbaseqmakeqmake "INCLUDEPATH+= D:/Source_Code-Third_Party/MariaDB/mariadb-5.5.56/include" "LIBS+=D:/Source_Code-Third_Party/MariaDB/mariadb-5.5.56/lib/libmysql.lib" mysql.pro
我得到不同的错误:
Project ERROR: Cannot load qmodule.pri!
Error processing project file: mysql.pro
我能找到的一些参考文献:
https://forum.qt.io/topic/51808/notorious-qsqldatabase-qmysql-driver-driver-not-load-loaded-loaded-boaded-boaded-available/4
以下链接(QT文档)为代码格式,因为"您至少需要10个声誉才能发布2个以上的链接。"
http://doc.qt.io/qt-5/sql-driver.html#qmysql-for-mysql-4-and-higher
本来可以用" qmysql"标记这个问题,但是"创建新标签'qmysql'至少需要1500个声誉。试试一些来自现有标签列表的内容。"
-----下面是相关的,但我更关心上面提到的错误----
我不使用QT 5.8.0或5.9.0,因为我无法获得" -skip"," -plugin-sql-mysql"和/或/或" -QT-SQL-MYSQL"来使用configure.bat。我得到的错误:
"-qt-sql-mysql"
ERROR: Invalid value given for boolean command line option 'sql-mysql'.
OR
"-plugin-sql-mysql"
ERROR: Feature 'sql-mysql' was enabled, but the pre-condition 'libs.mysql' failed.
Check config.log for details.
OR
"-skip <somethingIShouldBeAbleToSkip>"
ERROR: Unknown command line option '-skip'.
我发现的QTbug参考之一:
https://bugreports.qt.io/browse/qtbug-58536
- 如果某人/人要回答问题&amp;更多,那真是太棒了!
- 谢谢大家!
我遵循以下说明在Windows上构建MariaDB:
https://mariadb.com/kb/en/the-mariadb-library/building_mariadb_on_windows/
构建后,您还应该继续安装到系统上。此安装过程将所有内容都放在QT构建过程的正确文件夹结构中。
安装了MariaDB(看起来像MySQL安装)后,您应该能够遵循MySQL的标准QT构建说明。
http://doc.qt.io/qt-5/sql-driver.html
使用与" -qt-sql-mysql -i c: progra" 〜1 mysql include -l c: progra〜1 mysql lib"配置qt时"时,使用类似的东西。我使用QT 5.7.1。
除了Snowman6286的答案外,还必须使用默认QT进行构建:
QT是正常使用/MD标志集构建的,因此必须以相同的方式构建MariaDB才能将其链接起来。违规行在。 cmake os windows.cmake。评论读取STRING(REPLACE "/MD" "/MT" "${flag}" "${${flag}}")
的行。此外,不要通过评论root cmakelists中读取 ADD_SUBDIRECTORY(win/upgrade_wizard)
的行来放任升级向导构建。
- 从C++本机插件更新Vector3数组
- 使用CMake创建QML插件
- 停止cmake target_link_libraries将插件中静态库的两个对象文件链接到静态库本身
- 如何创建从Maya(或类似程序)到虚幻引擎的自定义数据导出插件
- clang 插件:在编译过程中修改 AST
- 实现动态插件管理器
- 我想通过带有C++和Python的插件创建一个可扩展的应用程序
- Agora.io 虚幻引擎插件构建错误
- 使用带有C++对象和标准库容器的插件系统
- 运行命令 "rosbag play example.bag" 时出错。找不到与插件 rosbag/NoEncryptor 对应的库
- 编译 llvm 插件时出现问题:llvm/Config/llvm-config.h:没有这样的文件或目录
- 通过 Gazebo 世界插件将静态对象附加到机器人链接
- 如何为模块化应用程序实现C++插件系统
- 'string'文件在带有C++文件的iOS插件上找不到
- 在 Android 上安装 GStreamer 插件
- 如何使用MSVC 2019创建和使用Qt 5.14.0自定义小工具插件
- 如何在 Windows 操作系统中在 geany 中安装插件
- 节点插件 API 将数组作为函数参数传递
- OpenVINO - 推理库插件 libMKLDNNPlugin.so 无法解析依赖关系
- 使用MariadB在Windows上构建MySQL / QMYSQL插件的错误