解析Qt 4.7.3编译MYsql驱动
qt4源码编译
qt4源码编译(原创版)目录1.QT4 简介2.QT4 源码编译步骤3.QT4 源码编译注意事项4.总结正文一、QT4 简介Qt 是一款跨平台的 C++图形用户界面应用程序框架,由挪威公司Trolltech 创立,后被诺基亚收购。
Qt 支持多种操作系统,如 Windows、Linux、Mac OS 等,它提供了大量的 GUI 元素,使得开发者可以轻松地创建具有图形用户界面的应用程序。
Qt4 是 Qt 的一个主要版本,它包括了 Qt3 的所有功能,并添加了许多新的特性。
二、QT4 源码编译步骤1.下载 QT4 源码:首先,你需要从 Qt 官方网站上下载 QT4 的源代码。
源代码是按照模块划分的,你可以根据自己的需要选择下载相应的模块。
2.解压源码:将下载的源码文件解压到一个目录下,如/usr/local/qt4。
3.配置编译环境:在解压后的目录下,找到.configure 文件,这是一个用于配置编译环境的脚本文件。
你可以根据自己的需求对配置选项进行修改,例如设置编译器、编译选项等。
4.编译源码:在配置好编译环境后,执行 make 命令开始编译源码。
编译完成后,你会在源码目录下看到许多编译生成的文件,如 lib、include 等目录。
5.安装 QT4:将编译生成的 lib 目录下的文件复制到系统的库目录下,将 include 目录下的文件复制到系统的头文件目录下。
然后,你需要设置环境变量,使系统能够找到这些库和头文件。
三、QT4 源码编译注意事项1.编译 QT4 需要安装相应的编译器和开发工具,如 GCC、GDB 等。
2.在编译过程中,可能会遇到一些编译错误,你需要根据错误信息,修改源码或者配置选项,直到编译成功。
3.如果你需要编译特定的模块,可以在.configure 文件中设置模块选项,或者在 make 命令中指定需要编译的模块。
四、总结QT4 源码编译是一个相对复杂的过程,需要对 C++编程和编译环境有一定的了解。
Qt中编译MySQL驱动
一、编译1、安装Qt,我按默认路径装完之后根路径是C:\Qt\4.8.2;安装MySQL,默认安装之后服务器的根路径是C:\Program Files\MySQL\MySQL Server 5.5;查看C:\Qt\4.8.2\plugins\sqldrivers中,没有mysql的dll驱动文件,需要手动生成。
有两种方法:1) 在C:\Qt\4.8.2\src\plugins\sqldrivers\mysql路径下可以看到有main.cpp、mysql.pro和README三个文件,在VS中,通过”Qt”菜单中的”Open Qt Project File(.pro)”命令,打开”mysql.pro”工程,编译release和debug版本即可得到qsqlmysql4.dll,qsqlmysql4.lib,qsqlmysqld4.dll,qsqlmysqld4.lib四个文件。
编译过程中可能会遇到找不到mysql的相关头文件,将其加入VS的C++头文件目录即可。
2) 在Qt助手(帮助文档)中搜索“mysql”关键词可以得到编译MySQL插件的过程:A、从开始菜单进入cmd命令行界面,想办法进入C:\Qt\4.8.2\src\plugins\sqldrivers\mysql路径下,运行:qmake "include+=C:\Program Files\MySQL\MySQL Server 5.5\include" "libs+=C:\Program Files\MySQL\MySQL Server 5.5\lib\libmysql.lib" mysql.pro执行完之后,会得到三个警告:WARNING: (internal):1: Unescaped backslashes are deprecated.WARNING: (internal):1: Unescaped backslashes are deprecated.WARNING: (internal):1: Unescaped backslashes are deprecated.不用管它们。
qt mysql 编译
qt mysql 编译在使用Qt进行MySQL数据库开发时,需要先编译 Qt 的 MySQL 驱动程序。
下面是 Qt MySQL 编译的步骤:1. 下载 MySQL Connector/C++ 的源代码在 MySQL 官网下载 MySQL Connector/C++ 的源代码,解压缩到本地目录。
2. 打开 Qt Creator打开 Qt Creator,选择“File”菜单中的“New File or Project”,选择“Other Project”中的“Import Project”,然后选择解压缩后的 MySQL Connector/C++ 目录。
3. 设置 Qt 的编译选项在 Qt Creator 中的“Projects”窗口中,选择“Build & Run”,然后在“Build Steps”选项卡中,选择“qmake”步骤,将“Additional arguments”中的内容设置为“-m ysql”,然后单击“Apply”按钮。
4. 编译 Qt 的 MySQL 驱动程序在“Projects”窗口中,选择“Build & Run”,然后单击“Build”按钮,开始编译 Qt 的 MySQL 驱动程序。
编译完成后,会在 MySQL Connector/C++ 目录下生成“libqsqlmysql.so”(Linux)或“qsqlmysql.dll”(Windows)文件。
5. 安装 Qt 的 MySQL 驱动程序将生成的“libqsqlmysql.so”(Linux)或“qsqlmysql.dll”(Windows)文件复制到 Qt 的插件目录下(Linux:/usr/lib/qt5/plugins/sqldrivers/,Windows:Qt 的安装目录下的plugins/sqldrivers/)6. 配置 Qt 的项目文件在 Qt 的项目文件(.pro)中添加以下语句:QT += sqlQT += coreQT += gui这样就可以使用 Qt 的 MySQL 驱动程序进行数据库开发了。
QT5.0 MINGW4.7 编译MYSQL驱动
QT5.0加载MYSQL驱动的方法最近想体验一下QT编写数据库应用程序的乐趣,但在编译MYSQL驱动的时候碰到诸多问题,差点放弃此举,重投MFC。
好在最后一把坚持终于得偿所愿。
成功在qt-windows-opensource-5.0.2-mingw47_32-x86-offline版本下编译mysql-5.5.30-win32驱动,心情大悦不敢私享,现在将编译方法一一道来,望能给各位迷途君子些许光明的方向。
第一步下载所需要的软件如下:QT:qt-windows-opensource-5.0.2-mingw47_32-x86-offli ne,QT官网目前第一项就是这个,安装之后发现目录结构跟目前网上介绍的方法在目录结构上存在很大差异,注意一定要下载QT5.0.2对应的SRC源码包(很多朋友就是在这里止步了),源码包下载地址为:/qt5/5.0.2/single/qt-everywhere-op ensource-src-5.0.2.zipMYSQL:我下载的是MYSQL5.5.30 32位版本,注意如没特殊要求最后下载32位版本,64位版本我没有去测试。
安装过程中指定目录为C:\MYSQL,注意千万不能有空格。
至于说选中安装源码包,实测中安装程序自己已先中。
QT安装就按通常方法安装,我安装在D:\,解压SRC源码包到D:\Qt\Qt5.0.2\Sources目录下。
以上各项安装好之后,编写名为WH.BAT的批处理文件存放到以下目录:D:\Qt\Qt5.0.2\5.0.2\mingw47_32\wh.bat,批处理文件内容为set mysql=C:\\Mysqlcd d:\Qt\Qt5.0.2\Sources\qtbase\src\plugins\sqldrivers\mysql\qmake "INCLUDEPATH+=%mysql%\\include" "LIBS+=%mysql%\\lib\\libmysql.lib" mysql.promingw32-make再到开始菜单如图所示的目录结构中执行QT 5.0.2 FOR Desktop(MinGW 4.7),输入WH执行编译,执行后稍等片刻就会编译完成,中间没有出现任现错误。
mysqlclient源码编译
mysqlclient源码编译
要编译MySQL客户端源码,您需要遵循以下步骤:
1. 首先,您需要安装MySQL开发依赖项。
这通常包括
`libmysqlclient-dev`软件包,您可以使用以下命令在Ubuntu上安装它:
bash.
sudo apt-get install libmysqlclient-dev.
2. 然后,您需要获取MySQL客户端源代码。
您可以从MySQL官方网站下载最新的MySQL源代码包,或者从MySQL的源代码版本控制系统中获取最新的开发版本。
3. 解压源代码包并进入解压后的目录。
4. 接下来,您需要执行`cmake`命令来生成Makefile。
确保您已经安装了`cmake`工具。
在源代码目录中运行以下命令:
bash.
cmake .
这将生成适用于您的系统的Makefile。
5. 然后,您可以使用`make`命令来编译源代码:
bash.
make.
6. 编译完成后,您可以使用`make install`命令将MySQL客户
端库安装到系统中:
bash.
sudo make install.
完成以上步骤后,您就成功编译了MySQL客户端源码。
请注意,这只是一个简单的示例,实际情况可能会因系统环境、MySQL版本
等因素而有所不同。
在实际操作中,您可能需要根据具体情况进行调整。
[转]qt-4.7交叉编译-mikit的专栏-CSDN博客
[转]qt-4.7交叉编译-mikit的专栏-CSDN博客[转]qt-4.7交叉编译收藏一:环境介绍虚拟机:vmware 7.0Linux 环境:ubuntu 9.04交叉编译环境:arm-linux-g++ 3.4.5硬件平台:TQ2440二:移植步骤安装交叉编译环境由于这里使用的是QT2440管盘中提供的交叉编译工具链EABI-4.3.3_EmbedSky_20100610.tar.bz2,放在/opt/目录下解压主要是在解压后可以看到其中含有两个版本,由于qt4.7.0的编译必须使用3.4.5版本所以在设置交叉编译的路径的时候使用的是在/etc/profile中加入exportPATH=/opt/EmbedSky/crosstools_3.4.5_softfloat/gcc-3.4.5-glibc-2.3.6/arm-linux/bin:$PATH安装tslib1.41. 下载tslib1.4,解压2. 进入解压的目录运行执行./autogen.sh3. 执行./configure --prefix=/opt/tslib/ --host=arm-linux ac_cv_func_malloc_0_nonnull=yes ,经过一段时间的编译4. 执行make install5. 修改/opt/tslib/etc/ts.conf,把第二行的#号去掉(这样做的主要目的是为了在移植到板子上的时候,可以制定输入模块)6. 在/etc/profile中加入export PATH=/opt/tslib:$PATHPS:经过我的测试,我无法用以上的方法编译tslib1.4,我用的是另外一种方法:1、 ./autogen.sh #用于生成configure脚本2、 echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache#产生一个cache文件arm-linux.cache,欺骗configure,3、 CC=arm-linux-gcc ./configure --host=arm-linux --prefix=/opt/tslib --cache-file=arm-linux.cache4、 make5、 make install交叉成功后在目标位置产生/bin、/etc、/include、/lib 4个文件夹编译qt4.7.0-arm1. 下载qt-everwhere-opensource-4.7.0,并解压最好重命名qt-everwhere-opensource-4.7.0-qte2. 开始进行配置选项./configure -embedded arm -release -opensource -fast -no-accessibility -no-scripttools -no-mmx -no-multimedia -no-svg -no-3dnow -no-sse -no-sse2 -silent -qt-libpng -qt-libjpeg -no-libmng -no-libtiff -no-multimedia -make libs -nomake tools -nomake examples -nomake docs -nomake demo -no-nis -no-cups -no-iconv -no-dbus -no-openssl -xplatform qws/linux-arm-g++ -little-endian -qt-freetype -depths 16,18 -qt-gfx-linuxfb -no-gfx-transformed -no-gfx-multiscreen -no-gfx-vnc -no-gfx-qvfb -qt-kbd-linuxinput -no-glib -qt-mouse-tslib -I /opt/tslib/include -L /opt/tslib/lib -confirm-license "$@"3. 开始进行交叉编译gmake 此过程要经历很长的一段时间4. 在交叉编译成功后运行gmake install安装,这里会默认安装到/usr/local/Trolltech/QtEmbedded-4.7.0-arm5. 这个时候qte的编译就成功了制作根文件系统(移植到开发板)1.移植tslib,将ubuntu中的/opt/tslib 拷贝到根文件系统中的/opt/下面2.移植qte4.7.0将/usr/local/Trolltech/QtEmbedded-4.7.0-arm下面的lib文件夹拷贝到根文件中的相同目录下(必需得先创建相应的目录)注:此时可以根据需要裁剪lib 中的内容去掉不用的.so文件3. 增加新的显示中文的字体wenquanyi 放到上面的/lib/fonts目录下。
mysql qt编译
mysql qt编译在Qt中使用MySQL需要确保Qt库是使用MySQL插件编译的。
以下是在Qt中编译MySQL 插件的一般步骤:1. 安装MySQL开发包:首先确保你的系统上已经安装了MySQL的开发包。
在大多数Linux 发行版中,你可以通过包管理器安装。
在Ubuntu上,可以使用以下命令:```bashsudo apt-get install libmysqlclient-dev```在Windows上,你可以从MySQL官方网站下载MySQL Connector/C的预编译版本。
2. 获取Qt源代码:如果你已经安装了Qt,可以跳过此步骤。
否则,你需要从Qt的官方网站下载并编译Qt。
确保你下载的Qt版本包含QtBase模块,因为MySQL插件是QtBase的一部分。
3. 配置Qt编译:进入Qt源代码目录,执行以下命令来配置编译选项:```bash./configure -opensource -confirm-license -plugin-sql-mysql```这个命令启用了MySQL插件的编译。
4. 编译:执行`make`命令来开始编译Qt。
这可能会花费一些时间,具体取决于你的系统性能。
```bashmake```5. 安装:编译完成后,执行以下命令安装Qt:```bashsudo make install```或者,如果你不想覆盖系统中已有的Qt版本,可以将Qt安装到自定义目录,然后使用该目录下的qmake:```bash./configure -opensource -confirm-license -prefix /path/to/custom/qt -plugin-sql-mysqlmakemake install```6. 测试:编译完成后,你可以通过创建一个简单的Qt应用程序来测试MySQL插件是否正常工作。
确保在你的.pro文件中添加了以下行:```qmakeQT += sql```并在代码中测试数据库连接。
Qt添加MySQL数据库驱动插件
Qt添加MySQL数据库驱动插件
一、安装MYSQL数据库
a)下载MySQL的安装程序(“mysql-essential-5.1.55-win32.msi”),在安装时选
择定制安装,这时选中安装Libs和Include文件。
安装位置可以是C:\MySQL b)安装软件,选择定制安装Custom
c)然后选中安装Include文件和Lib文件。
d)我们将安装路径更改为:C:\MySQL 。
注意:安装位置不建议改动,因为下面进行
编译的命令中使用了安装路径,如果改动,那么下面也要进行相应改动。
e)最终的界面如下。
f)接下来的只要next等就可以了,注意端口号是3306,记住密码,设置字体时设置
成gb2312
g)安装完成
二、在qt中生成驱动
a)打开QT的Qt Command Prompt。
b)然后输入第一条命令cd %QTDIR%\src\plugins\sqldrivers\mysql 后按回车,运
行效果如下。
c)然后输入第二条命令:qmake “INCLUDEPATH+=C:\MySQL\include”
“LIBS+=C:\MySQL\lib\opt\libmysql.lib” mysql.pro 按回车后运行效果如下:
d)最后输入:mingw32-make ,按下回车后经过几秒的编译,最终效果如下:
e)
f)这时我们需要将C:\MySQL\bin目录下的libmySQL.dll文件复制到我们Qt Creator
安装目录下的qt\bin目录中。
QT(利用MinGW)编译MySQL的一种方法
QT(利用MinGW)编译MySQL的一种方法(注:步骤1-5为基本的操作,爱好Qt编程自己动手多尝试,这样有助于自身对Qt编程的理解,建议编写时对于比较长的命令先写入记事本,输入时直接粘贴,这样调试比较方便)1、下载Qt SDK和MySQL,安装。
(Qt SDK安装时选择MinGW)2、安装之后需要对Qt进行配置(安装和配置过程比较复杂,在此不再赘述)3、Qt配置完毕后,设置MinGW的环境变量。
4、在运行中输入cmd,回车继续输入gcc-v,检查gcc编译器是否安装完好。
5、在Qt Command Prompt中输入cd %QTDIR%\src\plugins\sqldrivers\mysql,如图:6、再次输入qmake"INCLUDEPATH+=C:\MySQL\include""LIBS+=C:\MySQL\lib\libmysql.lib"mysql.pro(注意:引号之内的路径不允许有空格,若原文件名有空格则需要重新命名,消除空格)7、继续输入mingw32-make与mingw32-make release,则可在qt\src\plugins\sqldrivers\mysq的debug文件夹下生成libqsqlmysqld4.a 和qsqlmysqld4.dll,release文件夹下生成libqsqlmysql4.a和qsqlmysql4.dll。
(注意:输入命令后若有error出现,则仔细检查路径是否正确以及安装配置是否到位;若出现如下所示:检查相应文件是否已经生成,一般情况下是多次编译文件已经生成的结果。
如果需要重新输入命令进行重新编译,可先输入:mingw32-make clean,再输入相应命令)8、把步骤7中的四个文件粘贴至qt\plugins\sqldrivers路径下:9、把步骤6中libmysql.lib文件粘贴至qt\bin文件夹下。
linux下qt-mysql驱动(图文详解)
1.Linux下qt-mysql驱动的编译export PA TH=/opt/qtsdk-2010.05/qt/bin:$PA THcd $QTDIR/src/plugins/sqldrivers/mysqlqmake "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql -lmysqlclient_r" mysql.promakeMake结束会产生一个名为libqsqlmysql.so 的库cd $QTDIR/plugins/sqldrivers/cp $QTDIR/src/plugins/sqldrivers/mysql/libqsqlmysql.so .附录:1编译前确保$QTDIR/src/plugins/sqldrivers/mysql目录下面有如下文件Qmake指定的头文件和库必须与自己机器上mysql的一致2.Linux下qt程序打包问题首先,查看qt程序运行需要的库ldd cdrecord (cdrecord为我的可执行文件名)这里截图只有一部分,我们只需要知道需要哪些qt库就行了其他的库操作系统都自带的简单的qt程序只要把这些库和可执行文件打包在一起就行了,在没有qt开发环境的机器上,把这些库复制到/usr/lib目录下,点击可执行文件就可以执行下面介绍的是带mysql的qt程序打包首先,在程序的main.cpp中加入下面内容制定plugins目录的位置QStringstrLibPath(QDir::toNativeSeparators(QApplication::applicationDirPath())+QDir::separator()+"plu gins");qApp->addLibraryPath(strLibPath);这段代码指定了plugins目录的位置为./pluginsMysql驱动程序的位置$QTDIR/plugins/sqldrivers/libqsqlmysql.so所以我们直接把plugins ,可执行文件和用到的qt库一起打包目录结构如下:安装过程:在没有qt环境的机器上安装qt程序(我打包好的程序放在/home/mid_ui目录)1. 拷贝qt库到/usr/lib目录cp /home/mid_ui/lib* /usr/lib2.把plugins目录与可执行文件保持同级目录3.运行可执行文件即可作者信息中文名:童江鹏英文名:sevenQQ:289670691技术:linux c c++ qt 驱动嵌入式邮箱:Seven_1990@。
编译MYSQL驱动步骤
4. 输入命令:qmake "INCLUDEPATH+=C:/MySQL/include" "LIBS+=C:/MYSQL/MySQL Server <version>/lib/opt/libmysql.lib" mysql.pro;
注:执行3 4两个步骤后,在目录C:\Qt\Qt5.1.1\5.1.1\Src\qtbase\src\plugins\sqldrivers\mysql下会有文件Makefile, Makefile.Debug,Makefile.Release文件生成;
1. 打开QT命令窗口,输入命令cd $QTDIR/src/plugins/sqldrivers/mysql切换目录
例如:C:\Qt\Qt5.1.1\5.1.1\Src\qtbase\src\plugins\sqldrivers\mysql;
注:下面的“C:/MySQL/”为MySQL的安装目录 如果有空格,防止空格产生影响,可以将include和lib两个目录拷贝到一个没有空格的目录下;
5. 找到nmake.exe所在目录,运行dos命令窗口,切换至该目录,例如C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin;
6. 切换至C:Байду номын сангаасQt\Qt5.1.1\5.1.1\Src\qtbase\src\plugins\sqldrivers\mysql目录,运行nmake;
2.将C:/MYSQL/MySQL Server <version>/lib/opt/libmysql.lib文件拷贝至C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib目录;
qt 编译mysql驱动并连接mysql
Qt下连接mysql由于项目的需要,要用qt连接mysql数据库。
折腾了老半天终于搞出来了,感觉十分的欣慰。
操作系统win7旗舰版sp1.下载过程:1:下载mysql我下载的版本是 5.6.10 官方正式版(for windows 32位) 下载地址如下所示:/html/361.html2:下载qt我下载的版本是qt-win-opensource-4.8.2-vs2010.exe3:下载vs2010的qt插件也是图个方便,在vs上能够开发qt程序,我下载的版本是:qt-vs-addin-1.1.11-opensource.exe安装过程:1:安装mysql安装mysql,我选择的是全部安装,貌似是因为这样可以产生mysql相应的接口文件。
找到mysql的安装路径,可以看到其中的include和lib文件,这两个文件是后面生成mysql 驱动所必须依赖的文件。
为了简化路径和方便后面的安装,复制include和lib文件到C:\Qtmysql2:安装qt-win-opensource-4.8.2-vs2010.exe这个按照安装向导直接一步一步安装就可以了,我选择的安装路径是:C:\Qt\4.8.2。
安装完成后,可以发现C:\Qt\4.8.2\src\plugins\sqldrivers的路径下面有一个readme的文件,打开有这样一段话:Please note that the DB2, Oracle and TDS client drivers are not distributed with the Qt Open Source Editions.This is because the client libraries are distributed under a license which is not compatible with the GPL license.大致意思就是DB2,Oracle,TDS的数据库客户端驱动在qt的开源版本中是没有发布的,原因是这些客户端库的发行许可证和GPL许可证不兼容。
编译QT的MySql驱动问题及解决方案
做毕业设计要用到MySql,界面方面想用下QT,顺便学习一下QT的使用。
上去就碰到问题,没有MySql的驱动(其实在.\Qt\4.6.0\plugins\sqldrivers目录下有,后来编译完了才发现,这里要崩溃一下~)。
GOOGLE了一下,翻了翻网页,就开始编译驱动了。
这里使用QT4.6.0版本和VS2008自带的编译器使用的命令行参数是:qmake–o Makefile INCLUDEPATH+="D:\Program Files\MySQL\MySQL Server 5.1\include"LIBS+="D:\Program Files\MySQL\MySQL Server 5.1\lib\opt\libmysql.lib" mysql.pronmake跟预料中的一样,编译出错,错误是"cannot find file: mysql.pro",费了半天劲终于发现我进入的目录是".\Qt\4.6.0\src\sql\drivers\mysql"而不是传说中的".\Qt\4.6.0\src\plugins\sqldrivers\mysql"(本目录才是正确路径!)。
发生本错误的同志们一定要检查一下命令行的路径进的是否正确!一个问题解决了,qmake成功完成,开始nmake。
这里先是碰到了qsqlmysqld_resource.rc中找不到"WinVer.h"的错误。
找了找,发现WinVer.h头文件居然在Windows SDK的文件夹下,于是在".\Microsoft Visual Studio 9.0\Common7\Tools"中找到了vsvars32.bat设置环境变量的批处理,把该批处理拖入命令行窗口运行一遍(注意该批处理仅设置本次命令行窗口中的环境变量,并未修改注册表,所以每次打开个新命令行窗口都要运行一次批处理才可获得其中包含的环境变量设置!),再nmake,找不到WinVer.h的问题解决了。
QT4.7详解
QT历史,模块总括和主要模块概解修改发布1、Qt的简要历史1.1991年HaavardNordandEirikChambe-Eng开始开发QT.1994年后注册了QuasarTechnologies,这或许是QT名字来历。
后来公司改名为TrollTech.(中文音译为奇趣),TrollTech一直沿用至今。
直到2008年被Nokia收购。
2.QT的正式含义,字母Q在HaavardNord的Emacs上看起很漂亮。
T用来表示Xt,即Xtoolkit.3.1998年,LINUX桌面两大标准之一KDE选择了Qt作为自己的底层开发库,而另一个开源桌面系统GNome,选择了开源的图形库GTK+作为自己的底层库。
4.在商业版的QT上构造一个开源的桌面系统引起一个巨大争议.后来QT把作为两个版本来发行。
一个是商业版,另外一个是开源的版本。
用以解决版本上的争议。
我们在LINUX绝大部分是采用开源的版本来开发的。
5.QT早期的版本支持两个平台,一个是以X11底层基础QT/X11.它运行在LINUX和UNIX上。
另外一个QT/Windows,它运行在WINDOWS平台上,而且它只有商业版本。
6.2001年底,Qt3.0商业版开始支持MacOSX.2003年。
Qt3.2的发布了基于GPL的开源版用于支持MacOSX。
7.Qt的开发工具.QT是一个C++类库总称.在它支持操作系统上,它使用这个操作系统原生的C++编译器,如在LINUX 下用使用g++,在WINDOWS下使用VC++进行编译.而且一个操作系统有不同C++编译器.QT通常都会支持,如下WINDOWS下除VC++以外.还支持BorlandC++/mingw/等.除此之外,QT的一大特色是带了大量的配套开发工具.如用于绘制窗口QTDesigner.Qt在国内的嵌入式的市场占用率感觉不高。
但是2008年1月28后。
情况发生了改变。
来自北欧兄弟国家芬兰的NOKIA收购了Trolltech,这一举动不象是拉兄弟的人情收购,更是NOKIA扩展的战略的一部分,Qt的重点一直是LINUX平台,但是NOKIA的野心不局限于此.2009年12月1日–诺基亚今日发布了Qt4.6——最新版的跨平台应用程序和用户界面框架。
qt mysql 编译
qt mysql 编译在使用Qt进行开发时,经常需要使用到数据库。
而 MySQL 是一款常用的关系型数据库管理系统,在 Qt 中也可以很方便地使用。
下面介绍如何在 Qt 中编译使用 MySQL 数据库。
1. 安装 MySQL首先需要安装 MySQL 数据库。
可以从官网下载对应的安装包,或者通过系统包管理器进行安装。
安装完成后,需要记住安装目录和库文件路径,后面会用到。
2. 配置 Qt在 Qt 中使用 MySQL 数据库,需要先进行配置。
打开 Qt Creator,进入“工具”->“选项”,选择“构建&运行”,在“Kits”中选择需要使用的 Kits,点击“编辑”按钮,在“构建步骤”中选择“自定义”,在“自定义步骤”中添加以下三行命令:cd $$OUT_PWD$$[QT_INSTALL_BINS]/qmake -- MYSQL_INCDIR=安装目录/include MYSQL_LIBDIR=库文件路径 LIBS+='libmysql.lib' mysql.pronmake其中,“安装目录”和“库文件路径”需要替换为实际的路径。
3. 创建工程在 Qt Creator 中创建一个新的 Qt 控制台应用程序工程,选择“C++”,在“配置”中选择刚刚配置好的 Kits。
4. 编写代码在 main.cpp 中添加以下代码:#include <QtSql>#include <QDebug>int main(){QSqlDatabase db = QSqlDatabase::addDatabase('QMYSQL'); db.setHostName('localhost'); // MySQL 服务器地址db.setDatabaseName('test'); // 数据库名称db.setUserName('root'); // 用户名db.setPassword('root'); // 密码if (!db.open()) {qDebug() << '无法连接数据库!';return 1;}qDebug() << '成功连接数据库!';db.close();return 0;}这里使用了 Qt 提供的 QSqlDatabase 类来连接数据库,可以根据实际情况修改服务器地址、数据库名称、用户名和密码。
qt连接mysql报错:QSqlDatabase:QMYSQLdrivernotloade。。。
qt连接mysql报错:QSqlDatabase:QMYSQLdrivernotloade。
之前使⽤Qt连接mysql数据库,遇到过这样的报错,后来解决了,但没有记录下来,这次⼜遇到了,花了好多的精⼒,这次吸取上次的教训,做⼀下记录和总结。
报错截图:编辑背景: Qt5.13.0,编译器是mingw73_64,是64位的。
mysql-5.7.27-winx64,也是64位的。
有⼈说,qt的编译器的位数要和数据库的位数是⼀致的,我没试过不同位数⾏不⾏,反正我的都是64位的。
问题: 使⽤<QSqlDatabase>库进⾏mysql的连接操作,出现下⾯的报错信息,当然别忘了在.pro⽂件⾥的QT += sql QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7问题分析: 根据上⽹查资料,还有最后⾃⼰的实践,结论就是:qt⾥没有和mysql的连接插件,就是缺少qmysql.dll,有⼈说,只要把mysql安装⽬录下的lib⽂件夹下的libmysql.dll复制到qt的编译器的bin⽬录下就⾏了,我试过了,然并卵。
解决操作: 注意:下⽅出现的路径中,路径的前段部分(软件的安装位置)每个⼈可能都不⼀样,但是路径的后段部分应该是⼀样的,请⾃⾏修改。
1.先去⾃⼰的qt安装⽬录下去看有没有mysql的插件,我的位置是:H:\QT\Qt5.13.0\5.13.0\mingw73_64\plugins\sqldrivers进去⼀看,没有mysql的相关插件(qmysql.dll),那么就⽹上查找⽅法,有⼈说要利⽤mysql的库和qt⾥的Src⾥的mysql源码来编译出mysql的dll⽂件。
2. 那么开动,先找到qt源码⾥的mysql的源码(PS:如果你在安装qt的时候,没有选择安装qt的源码,建议重装吧。
qt mysql 编译
qt mysql 编译在使用Qt开发应用程序时,常常需要访问数据库。
MySQL 是一种常用的关系型数据库,本文介绍如何在 Qt 中编译 MySQL 驱动程序。
首先需要下载 MySQL 安装包,这里以 MySQL 5.7.21 为例。
下载完成后,解压到指定目录。
接下来需要配置 Qt 的开发环境。
在 Qt 的安装目录下,找到 Qt 文件夹,里面有一个名为 mkspecs 的文件夹,该文件夹下包含了各种平台相关的配置文件。
找到对应的平台文件夹,比如 Windows 平台的是win32-msvc2017,Mac 平台的是 macx-clang,Linux 平台的是 linux-g++,打开该文件夹下的 qmake.conf 文件。
找到以下几行代码:```QMAKE_LIBDIR += C:/MySQL/libQMAKE_INCDIR += C:/MySQL/include```将上面的路径修改为 MySQL 的安装路径,保存文件。
接着打开 Qt Creator,创建一个新的 Qt 控制台应用程序项目。
在.pro 文件里添加以下代码:```QT += sqlCONFIG += mysqlINCLUDEPATH += C:/MySQL/includeLIBS += -LC:/MySQL/lib -llibmysql```其中 QT += sql 表示使用 Qt 中的 SQL 模块,CONFIG += mysql 表示使用 MySQL 驱动程序。
INCLUDEPATH 和 LIBS 分别设置 MySQL 的头文件路径和库文件路径。
保存文件,然后重新构建项目即可。
如果编译成功,就可以在程序中使用 MySQL 数据库了。
- 1 -。
Qt连接mysql驱动出错问题QMYSQLdrivernotloaded
Qt连接mysql驱动出错问题QMYSQLdrivernotloaded OS X El Capitan 使用 Qt 的时候出现 QSqlDatabase: QMYSQL driver notloaded QSqlDatabase: available drivers: QSQLITE QODBC3 QODBC1.如果机器没有安装 mysql, 那么首先安装 mysql 安装过程.....略过2.进到Qt 的安装目录 .找到驱动文件Paste_Image.png3.进到终端, 看看这货要哪些东西. 使用 otool 命令. otools -L libqsqlmysql.dylibPaste_Image.png看这个路径, 原始应该是/opt/.... 什么东西, 哪里来的 opt, 这里是我修改后的.4.要做的就是修改这个加载的路径, Qt 驱动才会找到对应 mysql 提供的动态库. 使用的命令是 install_name_toolinstall_name_tool-change /opt/.../libmysqlclient.18.dylib/usr/.../lib/libmysqlclient.18.dylib libqsqlmysql.dylib1.install_name_tool2.-change3.被修改的路径, 就是刚才 otool 出来的哪个 /opt/.../libmysqlclient.18.dylib4.要修改成的路径, 也就是你的 mysql 动态库的位置 /usr/local/mysql/lib/libmysqlclient.18.dylib5.要改谁. 就是刚才 Qt 的驱动库文件 libqsqlmysql.dylib6.改完后, 快去连接运行 the funking code 吧.参考博客:。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Qt 4.7.3在连接MYsql数据库的时候可能出现的问题,原来是其他由于权限的问题,只给出了部分数据库的驱动(只有sqlite)其他的驱动只给出了源文件还有文档说明,需要自己编译,那么本文将会帮你解决这些问题。
AD:
本文讲解Qt 4.7.3编译MYsql驱动的内容,Qt 4.7.3在连接MYsql数据库的时候可能出现的问题,原来是其他由于权限的问题,只给出了部分数据库的驱动(只有sqlite)其他的驱动只给出了源文件还有文档说明,需要自己编译,那么本文将会帮你解决这些问题。
首先,这样的教程在网上有很多,我选了一下比较好的贴出来网址,但是根据自己的情况不同可能会遇到很多问题……但是大同小异,基本上都可以解决:
/201556.htm
/201556.htm
/1142339/300920
/nokiaguy/archive/2009/03/23/261502.html
/nokiaguy/archive/2009/03/23/261502.html
/1142339/300920
/javabloger/archive/2008/07/14/214740.html
/22893636/viewspace-663033
mingw-utils包下载:/download/mingw-utils-0.3.tar.gz 闲话少说:解决问题首先是要下载安装MYsql还有QT,这个不用多说了,接触过的都熟悉了,PS(以前下载的时候都是SDK集成的开发环境,但是,最近我下载的时候发现不一样了,SDK把不需要的塞班也加进去了,开发包很大1.5G,安装需要9G的空间)没办法我只能下载的 qt-creator-win-opensource-2.2.0
qt-win-opensource-4.7.3-mingw
安装的时候可能会遇到点错误,上面给出的网址中有解决的遮掩问题的,哈哈,放心吧。
然后就是MYsql,我安装的是5.5,一个比较新的版本,下载网址是:
安装的时候最好就一次安装好,不然就悲剧了,这个很难被卸载……
然后就是编译mysql驱动了:打开Qt Command Prompt。
你会发现,你的环境变量他自己给你设定了,这样的话,就需要在你的编译驱动之前就修改这些环境变量,不然的话会在编译的时候遇到各种“不是命令或者内部文件”的问题首先打开qt-win-opensource-4.7.3-mingw 安装目录下面的bin目录找到Qt Command Prompt的批处理文件,然后编辑他的环境变量的部分“PATH”记住有两处需要修改,然后就是具体的操作了(派出了各种问题的隐患)引用:
You need to get the MySQL installation files. Run SETUP.EXE and choose "Custom Install". Install the "Libs & Include Files" Module. Build the plugin as follows (here it is assumed that MySQL is installed in C:\MYSQL): cd
%QTDIR%\src\plugins\sqldrivers\mysql qmake -o Makefile
"INCLUDEPATH+=C:\MYSQL\INCLUDE" "LIBS+=C:\MYSQL\LIB\OPT\LIBMYSQL.LIB" mysql.pro nmake If you are not using a Microsoft compiler, replace nmake with make in the line above.
这就是一个容易搞混的地方,上面是使用的libmysql.lib和nmake来编译的,如果使用的是msvc的编译器,那上面是没问题的,但是如果使用的是mingw编译器,那就会出错,有undefined reference…等类错误字样。
这是因为mingw使用的库和msvc使用的不同格式的库而引起的。
而mysql只提供了msvc可使用的库。
qt4 for mingw要想编译出qsqlmysql库来,我们先得编译出mingw需要的libmysql.a这个文件来,可使用mingw工具来生成。
mingw -utils包里的reimp命令(如果没有这个命令的话,可从本帖开头处给出的地址中下载这个文件,并把它解压开后的bin目录里的reimp内容拷贝到 mingw的bin目录下面。
mysql安装的时候默认的安装路径中有空格,我们得先把它的include和lib目录拷贝到没有空格的路径下,比如C: \mysql下)
CODE: cd c:\mysql\lib\opt reimp -d libmysql.lib dlltool -k -d libmysql.def -l libmysql.a 这时候你会发现你的lib文件夹下面会多出两文件: libmysql.a & libmysql.def (推荐使用mysql5.5,其他的貌似没有libmysql*.lib文件)
然后使用qmake和make命令:
cd %QTDIR%\src\plugins\sqldrivers\mysql qmake -o Makefile
"INCLUDEPATH+=C:\MYSQL\INCLUDE" "LIBS+=C:\MYSQL\LIB\OPT\LIBMYSQL.a" mysql.pro make
这下便会在%QTDIR%\plugins\sqldrivers目录下面生成libqsqlmysql.a, qsqlmysql.dll这两个文件了。
注意这里可能会遇到这种问题:
WARNING: (internal):1: Unescaped backslashes are deprecated.
WARNING: (internal):1: Unescaped backslashes are deprecated.
WARNING: (internal):1: Unescaped backslashes are deprecated.
我也遇到了你的这个问题,我把我的解决方法给你,希望对你有用。
(1)dos下进入:D:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql>
(2)用记事本打开D:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql\ mysql.pro文件,在第二行加入: INCLUDEPATH += "C:\Program Files\MySQL\MySQL Server 5.1\include" LIBS += "C:\Program Files\MySQL\MySQL Server 5.1\lib\opt\libmysql.lib" 并保存(3)在dos下输入:
qmake -o Makefile mysql.pro 此时可能也会提示:
WARNING:
d:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql\mysql.pro:2: Unescaped ba ckslashes are deprecated. WARNING:
d:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql\mysql.pro:2: Unescaped ba ckslashes are deprecated. WARNING:
d:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql\mysql.pro:2: Unescaped ba ckslashes are deprecated
但是好像对最后的结果没有影响
然后使用make命令;
但是这时候只有在debug文件夹有两个文件
然后使用make release 生成release目录下的文件
qsqlmysql4.dll
libqsqlmysql4.a
qsqlmysqld4.dll
libqsqlmysqld4.a
这时候把这几个文件拷贝到 C:\Qt\……\plugins\sqldrivers下面;另外,根据文档所说的,还要把libmysql.dll复制到system32目录。