• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

QT预备式(包含MySql配置)

mysql 搞代码 4年前 (2022-01-09) 24次浏览 已收录 0个评论

第一次系统地玩QT,于是诞生了此预备式: 【QT版本4.6.0(VS2008编译版),开发平台推荐使用Qt Creator(最新1.3版),系统这里使用Windows Xp】 QT Qt Creator MySql安装: QT :不知道QT开发人员怎么想的,总是跟空格过不去,安装QT时尽量将其装在根目录下

第一次系统地玩QT,于是诞生了此预备式:

【QT版本4.6.0(VS2008编译版),开发平台推荐使用Qt Creator(最新1.3版),系统这里使用Windows Xp】

QT & Qt Creator & MySql安装:
QT:不知道QT开发人员怎么想的,总是跟空格过不去,安装QT时尽量将其装在根目录下,路径中尽量不要有中文,否则由于这问题出现诡异情况,GOOGLE都不一定好使~
Qt Creator:我的Qt Creator是在VS2008安装完成之后装的。装完Creator,它就默认使用VS编译器了(如果有问题,从VS环境变量、QT环境变量入手!)。但这也带来一个问题,就是调试器不能用GDB,要用微软的CDB(下载地址),在上面挑个最新版的下载安装。我这里Creator用的是1.3版的,对于CDB兼容性还是有问题的,会提示找不到”dbgeng.dll”。这时需要把CDB安装文件夹中的”dbghelp.dll”拷贝到Creator的Bin目录下,完成后就可以正常使用CDB调试了。
MySql:MySql装上去通常会出现万恶的1067错误,针对该错误的解决方法可谓五花八门。这里MySql建议安装完全版的(除非很了解MySql,不然就不要安装Essential版),装的时候也是尽量挑英文无空格路径装,免得万一因路径出问题折腾。MySql的配置方法

  • 把my-small.ini拷贝成my.ini
  • 在其中的[client]下加上default-character-set=GBK;在[mysqld]下加上default-character-set=GBKbasedir = “D:/MySql”(MySql路径)、datadir = “D:/MySql/data”(数据库路径)、tmpdir = “D:/MySql//temp”(临时文件夹,注意双”/”转义”/t”)。其中各路径根据MySql安装情况自己修改。
  • 在my.ini旁边创建一个文本文件,文件名改为Create.bat。用记事本打开,粘进如下代码:
<pre class="prettyprint linenums">@echo off
cd/d %~dp0
@echo Build DataBase ...
mkdir data
mkdir temp
copy /V /Y "./my.ini" "%windir%/my.ini"
./bin/mysqld.exe --defaults-file="./my.ini" --console
@echo Failure.
pause

并运行该批处理。如果最后未出现Failure输出,则创建数据库成功!创建成功后,关闭Create.bat批处理运行窗口。

  • 在my.ini旁边再创建一个文本文件,文件名改为Rebuild_And_Start_Service.bat。用记事本打开,粘进如下代码:
<pre class="prettyprint linenums">@echo off
cd/d %~dp0
@echo Now Reinstall MySql Service ...
./bin/mysqld.exe --remove
./bin/mysqld.exe --install MySql
@echo Start Service ...
net start MySql
@echo done.
pause

并运行该批处理。人品不错的话,应该是顺利启动服务了,碰1067的话GOOGLE去吧~

  • 为了日后管理方便,需要再创建个批处理来停止MySql服务。 在my.ini旁边再创建一个文本文件,文件名改为Stop_Service.bat。用记事本打开,粘进如下代码:
<pre class="prettyprint linenums">@echo off
net stop MySql
echo done.
pause

并运行该批处理。关闭服务的批处理通常都是最好使的,双击即关闭。

  • 再补充一个启动MySql服务的批处理Start_Service.bat,便于在Stop_Service.bat运行后再次启动服务:
<pre class="prettyprint linenums">@echo off
net start MySql
echo done.
pause
  • 上面一切都搞定,MySql服务运行后,就可以运行MySql安装文件夹下Bin目录中的mysql.exe,试试MySql功能正常不。
  • MySql可以启动并正常使用后,将MySql数据库驱动(点击看编译方法)拷贝到“%QTDIR%/plugins/sql本文来源gao*daima.com搞@代#码&网6drivers”中。在MySql安装目录中找到“libmysql.dll”,并将其拷贝到“%QTDIR%/bin”下。

关于带数据库驱动的QT程序的部署:在QT程序的main函数中,使用QCoreApplication::addLibraryPath()添加库文件加载路径。

QT的中文化

<pre class="prettyprint linenums"><span>int</span> main(<span>int</span> argc, <span>char</span> *argv[])
{
    QApplication a(argc, argv);
    <span>//设置tr以及地域。</span>
    QTextCodec::setCodecForLocale(QTextCodec::codecForName("<span>GBK</span>"));
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("<span>GBK</span>"));
    QTextCodec::setCodecForTr(QTextCodec::codecForName("<span>GBK</span>"));
    <span>//添加库加载路径。</span>
    QCoreApplication::addLibraryPath(QCoreApplication::applicationDirPath() + '/' + PLUGINS_NAME);
    Widget w;
    w.show();
    <span>return</span> a.exec();
}

注意:tr只有在类中已经继承了QObject时才可以直接使用,否则可以使用QObject::tr()。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:QT预备式(包含MySql配置)

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址