windows10下QT6.4.3编译qsqlmysql Debug+Release动态库
QT6版本以上没有mysql的动态库,需要自己编译,网上找了好多教程都没有成功编译,后面结合多个教程慢慢倒腾 终于成功了,具体操作步骤如下:
1,首先下载安装QT的时候 需要安装它的源码
2,安装完成后需要设置cmake ninja环境变量
3,CD进入你QT的mysql目录 我的是:D:\Qt\6.4.3\msvc2019_64\plugins\sqldrivers
cd /d D:\Qt\6.4.3\Src\qtbase\src\plugins\sqldrivers
4,调用 你VS2019或者2022的vcvars64.bat
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
结果如下
**********************************************************************
** Visual Studio 2022 Developer Command Prompt v17.5.2
** Copyright (c) 2022 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'
5,调用cmake ninjia命令进行编译mysql debug动态库
call D:\Qt\6.4.3\msvc2019_64\bin\qt-cmake.bat -G "Ninja" . -DMySQL_INCLUDE_DIR="C:\Program Files\MySQL\MySQL Server 8.0\include" -DMySQL_LIBRARY="C:\Program Files\MySQL\MySQL Server 8.0\lib\libmysql.lib" -DCMAKE_INSTALL_PREFIX="D:\Qt\6.4.3\msvc2019_64"
其中-DMySQL_INCLUDE_DIR="C:\Program Files\MySQL\MySQL Server 8.0\include"你安装的MYSQL的路径
-DMySQL_LIBRARY="C:\Program Files\MySQL\MySQL Server 8.0\lib\libmysql.lib"
-DCMAKE_INSTALL_PREFIX="D:\Qt\6.4.3\msvc2019_64" 你QT MSVC2019-64路径
结果如下:
D:\Qt\6.4.3\Src\qtbase\src\plugins\sqldrivers>call D:\Qt\6.4.3\msvc2019_64\bin\qt-cmake.bat -G "Ninja" . -DMySQL_INCLUDE_DIR="C:\Program Files\MySQL\MySQL Server 8.0\include" -DMySQL_LIBRARY="C:\Program Files\MySQL\MySQL Server 8.0\lib\libmysql.lib" -DCMAKE_INSTALL_PREFIX="D:\Qt\6.4.3\msvc2019_64"
-- The CXX compiler identification is MSVC 19.35.32215.0
-- The C compiler identification is MSVC 19.35.32215.0
-- The ASM compiler identification is MSVC
-- Found assembler: C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.35.32215/bin/Hostx64/x64/cl.exe
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.35.32215/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.35.32215/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - not found
-- Found Threads: TRUE
-- Performing Test HAVE_STDATOMIC
-- Performing Test HAVE_STDATOMIC - Success
-- Found WrapAtomic: TRUE-- Configuration summary shown below. It has also been written to D:/Qt/6.4.3/Src/qtbase/src/plugins/sqldrivers/config.summary
-- Configure with --log-level=STATUS or higher to increase CMake's message verbosity. The log level does not persist across reconfigurations.-- Configure summary:Qt Sql Drivers:DB2 (IBM) .............................. noInterBase .............................. noMySql .................................. yesOCI (Oracle) ........................... noODBC ................................... yesPostgreSQL ............................. noSQLite ................................. yesUsing system provided SQLite ......... no-- Configuring done
-- Generating done
-- Build files have been written to: D:/Qt/6.4.3/Src/qtbase/src/plugins/sqldrivers
5,输入ninja指令:
ninja
结果:
6,输入ninja install
ninja install
结果:
这样就编译完成了debug的动态库,其路径在 D:\Qt\6.4.3\msvc2019_64\plugins\sqldrivers
7,继续编译release的mysql库
call D:\Qt\6.4.3\msvc2019_64\bin\qt-cmake.bat -G "Ninja" . -DMySQL_INCLUDE_DIR="C:\Program Files\MySQL\MySQL Server 8.0\include" -DMySQL_LIBRARY="C:\Program Files\MySQL\MySQL Server 8.0\lib\libmysql.lib" -DCMAKE_INSTALL_PREFIX="D:\Qt\6.4.3\msvc2019_64" -DCMAKE_BUILD_TYPE=Release
和debug的不同之处在于 最后面加了一句 -DCMAKE_BUILD_TYPE=Release
结果如下:
继续输入ninja指令
ninja
继续输入 ninja install
最终生成的DLL全部在D:\Qt\6.4.3\msvc2019_64\plugins\sqldrivers路径下
8,用QT写一个简单的测试demo,调用OK
windows10下QT6.4.3编译qsqlmysql Debug+Release动态库相关推荐
- Windows10下QT6(C++)+OpenCV4环境配置及安装
文章目录 1. 安装Qt 2. 安装Cmake 3. 下载并编译OpenCV4 4. Qt6配置OpenCV 5. 资源 参考博主文章 Windows10下QT6.0(C++)+OpenCV4环境配置 ...
- linux centos 编译luabind-0.9.1 动态库 静态库
luabind下载 luabind-0.9.1 下载地址 :http://download.csdn.net/download/yzf279533105/10109861 编译步骤 一. 需先编译好l ...
- win7 VS2008 编译luabind-0.9.1 动态库 静态库
一 luabind下载 luabind-0.9.1 下载地址 :http://download.csdn.net/download/yzf279533105/10109861 二 Windows下编 ...
- ndk编译出来的executable动态库入口函数的参数错乱
早些时间用ndk编译带main入口函数的动态库,测试可运行.今天要作它用时,发现在这个入口函数并没有传入正确的参数. hello.cpp有main函数,用ndk分别编译成可执行文件和动态库文件,使两者 ...
- linux系统c++编译连接过程,动态库与静态库
https://www.cnblogs.com/ucas/p/5778664.html(linux系统c++编译连接过程) http://www.cnblogs.com/skynet/p/337285 ...
- 在windows上编译apr等相关动态库
一.首先参考链接:https://www.cnblogs.com/dongc/p/9281512.html 以下为相关截图和细节 1.下载apr相关库tar包 2.cmake配置apr目录 最后在E: ...
- 如何编译各平台使用的库-以编译tolua为例
转载注明出处: https://www.jianshu.com/p/5a35602adef8?appinstall=0 做U3D手机游戏,最热门的技术组合是c#+lua,使用lua是因为可以热更新,而 ...
- 2.Linux下程序代码的编译
一.编译工具 前言 1)编译器和目标程序运行在相同架构的编译过程,被称为本地编译. 2)编译器和目标程序运行在不同架构的编译过程,被称为交叉编译. 为什么需要交叉编译?因为编译过程往往需要很大的算力和 ...
- c语言与qt编写安卓,Windows下Qt for Android 编译安卓C语言可执行程序
作为 C/C++ 程序员,有时候我们希望在安卓上运行从 C/C++ 生成的可执行程序,而不是在 Java 中通过 jni 的方式来调用 C 动态库.有两个途径可以达到这个目的:一 作为 C/C++ 程 ...
最新文章
- ASP.NET 获取上一个页面的Url链接
- 【机器学习】KNN算法代码练习
- 50多个强大的jQuery插件应用实例
- sap 标准委外和工序委外_SAP FICO零基础学习_0035_标准成本估算-主数据-物料主数据...
- 华润置地php面试题_从一流到顶流|2020华润置地与沈阳一起美好
- 前端学习(1524):ES6模块导入和导出
- 决策树会有哪些特性?
- 四种常见 Git 工作流比较
- python模拟给qq发消息,python模拟QQ聊天--socket通信
- javascript有关this的那些事(某渣提出的问题)
- su 与 su - 区别
- 当第一资本、高盛、摩根士丹利等巨头纷纷启用CDO时,您想到了什么?
- 好未来表格识别大赛 | 获奖名单新鲜出炉!
- 湖南计算机office三月份,2020年3月计算机二级MS Office考试怎么准备
- 用asp.net发送电子邮件
- HM-16.0编码过程:将YUV文件编码成HEVC格式的码流
- C++GUI之wxWidgets(1)-安装与测试
- 中华五千年的朝代顺序
- 数据分析课后作业--信用卡客户风险评价(代码)
- 2021年大数据发展十大趋势:抓准一个,就能掌握先机!
热门文章
- 英语日常口语对话(7)
- matlab print 保留颜色,科学网—解决matlab saveas printf保存图片时 colorbar中的字体颜色发生改变 - 肖鑫的博文...
- java浏览器无界面后台截屏工具
- 计算机中丢失quartz dll,win10系统提示缺少quartz.dll文件的解决方法
- 计算机职称考试入户,揭秘!2020年考什么职称更容易入户广州?
- 交叉编译-20:gettext移植到君正平台
- JavaEE 企业级分布式高级架构师(十五)FastDFS分布式文件服务器(1)
- 【Redis】redis cluster模式实现双机房容灾切换
- 逃避不一定躲得过,面对不一定最难过
- time_t c语言 2038,什么是2038问题?