首页 \ 问答 \ 请提供关于密钥和公钥的相关知识

请提供关于密钥和公钥的相关知识

概念及其他相关应用
更新时间:2019-05-05 11:42

最满意答案

1:首先我编译了一个release版本,而后用dependency walker查看了下库的依赖情况。发现依赖于:QtSql4.dll,QtGui4.dll,QtCore4.dll,msvcr80.dll以及KERNEL32.DLL这几个库。其中最后一个是system的,我们不用去管,剩下的这几个显然都需要拷贝到exe同目录下。尤其是msvcr80.dll,我在我电脑上搜了一下:有多大10几个同名的该文件,所以拷贝哪个是很重要的,此时我们只需要在dependency walker查看这个dll的属性,然后去对应目录底下拷贝就行了。所以:第一步就是把这些依赖库拷贝到exe同目录下。(千万不要拷贝错误,尤其是不同的版本)。
2、做完1之后再次运行,提示:找不到驱动。 问了一下别人,告之需如下做:
(1)首先在exe同目录下建一个plugins\sqldrivers这样的二级目录,而后将前边编译生成的qt-mysql驱动:qsqlmysql4.dll放到里边。
(2)而后在main.cpp中加上如下两句:
QString strLibPath(QDir::toNativeSeparators(QApplication::applicationDirPath())+QDir::separator()+  "plugins");   qApp.addLibraryPath(strLibPath); 

做完这两部之后:按理应该没问题了,但是run一下发现:还是提示驱动找不到。
3、再后来,上网查了一下各种说法,发现几种可能性:①你要发布的电脑上没有安装mysql  ②mysql版本不对。  我就纳闷了:找不到驱动与装没装mysql有什么关系?毕竟:驱动是我自己编译的,又不是mysql提供的。  问了下别人,别人也这么认为。然后就卡在这里了。  我不死心,继续在网上寻找各种可能的答案并进行尝试。最后找了问题,原来:我们需要把mysql提供的:libmySQL.dll这个库拷贝到exe同目录下(该文件在我自己电脑上处于:C:\Program Files\MySQL\MySQL Server 5.5\bin文件夹下)。如此之后再来运行就不再报:找不到驱动这个错误啦!(此时报的是:连接不到某个指定的数据库,那是因为我还没有把数据库文件导入到目标机器上来)。
总结:在其他pc上发布的时候需要做如下工作:
1、使用depenency walker查看依赖库,全部拷贝到exe同文件夹下。
2、(1)在exe同目录下建一个plugins\sqldrivers这样的二级目录,而后将前边编译生成的qt-mysql驱动:qsqlmysql4.dll放到里边。
(2)而后在main.cpp中加上如下两句:
QString strLibPath(QDir::toNativeSeparators(QApplication::applicationDirPath())+QDir::separator()+  "plugins");   qApp.addLibraryPath(strLibPath); 

3、将mysql/bin目录下的libmySQL.dll拷贝到exe同目录下。
做完以上几步之后就OK了。
至于最后所报的连接不到指定的数据库,原因是这样的:
在开发的电脑上:你建了一个mysql数据库,那么我们需要把这个数据库文件也拷贝到目标机器上,并在目标机器上装mysql,而后将这个数据库文件导入进去。 导入之后你会发现:各字段的数据有可能出现乱码,这是由于各个字段的编码格式在开发机器和目标机器上不一致 导致的! 你需要按照开发机器上的数据库文件配置来重新设置一下目标机器的各个字段编码格式。
而在目标机器上导入数据库文件的方法是:(以建立的数据路名为buaa.sql为例)
1、在目标机器上装mysql
2、命令行运行mysql,进入后执行命令:create database buaa;
3、导入buaa.sql到刚创建的buaa数据库中。(我用的mysql-front这个数据库图形化工具)。
测试: Qt4.5.0commercial  + vc2005 express + mysql5.5 +mysql-front +windows xp
(网上很多人说:找不到驱动是因为目标机器上没有安装vc运行时库的原因,但是我这里没有遇到这个问题:我测试的电脑没有任何vc环境,没有任何qt环境,也没有安装windows sdk。 但是如果大家按照我上边的方法测试发现有问题时:可以考虑在目标机器上安装vc运行时库试一下。它分sp1版本和 非sp1版本,你对应主机的vc版本选择一个安装就是。)

其他回答

首先,qt 5.9 的安装包与之前相比,不再区分 vs 版本和 mingw 版本,而是全都整合到了一个安装包中。因此,与之前的安装包相比,体积也是大了不少,以前是 1g 多,现在是 2g 多。

双击启动安装包之后,将会打开一个欢迎界面。在这里,直接点击“下一步”即可。

接着,会提示你登陆 qt 账户。这个 qt 账户对普通人来说没什么必要,所以直接点击下面的“skip”跳过即可。

随后,便会弹出真正的开始安装界面,点击“下一步”。

在安装文件夹的界面,建议大家不要将 qt 安装在系统盘 c 盘(比如我在此作了更改,将其安装到 d 盘。当然,你安装在 c 盘也是可以的),其他保持默认即可。继续点击“下一步”。

下面,就到了重点了。在选择组件界面,请务必要选对安装 qt 所需要的组件,否则你安装以后是无法正常运行的。
首先,点击各项前面的 > 箭头展开子项的内容。

在 qt5.9 一项中,如果你是使用 mingw 进行编译,请务必选中 mingw 模块。而如果你希望调用 vs 的编译器进行编译,则需要勾选对应的 vs 模块。当然,如果希望进行安卓开发,则安卓模块是少不了了。
至于其余的一些模块,则可以根据自身需要勾选。这里着重介绍下 qt webengine 和三个后面带tp的模块项。qt webengine是谷歌开源的 web 浏览器引擎模块,而带 tp 的模块则表示此模块目前是技术预览版。
我的建议是,如果你是初学,这些则可以不选。千万不要以为柿子西瓜一箩筐什么都选上是最好的,这样一来是增大存储空间,二来多多少少会影响 qt 运行时的速度,增加不必要的内存消耗。

下面,接着看工具项(tools)的选择。
第一项是cdb的调试器,如果你仅使用 mingw进行编译,则此项可以不选。
第二项虽然名字带 mingw,但只是用于交叉编译的(交叉编译即在某一平台上编译用于其他平台的程序),如果用不到,也可以不选。
至于第三项,那是用于 perl 的。如果你电脑中本身没有安装 perl,那是装不上的。
选择完成后,继续点击“下一步”。

接着,在打开的页面中勾选“我已经阅读并同意条款”(原文是英文)。然后,继续一路点击“下一步”,直到安装完成就可以了。

注意事项

在安装过程中,可能会被个别安全软件误报,这时点击允许就可以了(警告:在允许之前,你应该确保你的安装包是从qt官网下载的,并且知道自己在做什么)。

相关问答

更多
  • 1. 程序有要求的QT版本吗? 机上的QT符合版本要求? 2. 即然为Plugin, 是否已安装, 编译前在代码中作相应的定义如Q_IMPORT_PLUGIN(qsqlmysql);
  • 哈哈,我也遇到了你的这个问题,我把我的解决方法给你,希望对你有用。 (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 File ...
  • 最基本实现: 按照lindEdit里面输入的内容查找数据库并显示出来。 最高实现目标: 用了个combobox里面有几个属性都是数据库里面有的,先选择相应的属性,再输入对应的内容到linEdit,按照lindEdit里面输入的内容查找数据库并显示出来。
  • 1:首先我编译了一个release版本,而后用dependency walker查看了下库的依赖情况。发现依赖于:QtSql4.dll,QtGui4.dll,QtCore4.dll,msvcr80.dll以及KERNEL32.DLL这几个库。其中最后一个是system的,我们不用去管,剩下的这几个显然都需要拷贝到exe同目录下。尤其是msvcr80.dll,我在我电脑上搜了一下:有多大10几个同名的该文件,所以拷贝哪个是很重要的,此时我们只需要在dependency walker查看这个dll的属性,然后去 ...
  • 哈哈,我也遇到了你的这个问题,我把我的解决方法给你,希望对你有用。 (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 Fil ...
  • 不,这不对。 它不可能是因为visual c ++版本通常不是二进制兼容的(*现在Visual Studio 2017与2015年二进制兼容)。 该软件包只有你可以安装的不同版本,目标是Windows:VS2013(x64),VS2015(x64和x86),VS2017(x64),MinGW和目标Android(arm和x86)。 No, it's not. It can't be since visual c++ versions are usually* not binary compatible (* ...
  • 基于此处的示例,我在sqlite中启用了spatialite,该函数启用了该模块。 为此,您必须链接sqlite3库。 所做的修改是: 将"SELECT load_extension('libspatialite.so')"更改为"SELECT load_extension('mod_spatialite')" 将"SELECT InitSpatialMetadata()"更改为"SELECT InitSpatialMetadata(1)" #include #include
  • 如果你打算重建链接到MySQL的Qt,你现在可以停下来,你不必! SQL驱动程序是插件(根据定义在运行时动态加载),并且可以独立编译。 在Qt源代码树中找到类似qt/src/plugins/sqldrivers/mysql的驱动程序源代码,然后构建它。 这里的游戏是提供适当的MySQL开发头文件和库(客户端),以便驱动程序将构建! (请注意,如果你是一个Windows,它可能是32位版本的MySQL客户端,即使你运行的是64位操作系统也是如此)。 您可以通过qmake命令提供MySQL路径,以引用Anton ...
  • 您需要将QtWebEngine库添加到链接器。 打开qmake .pro文件并添加QT += webenginewidgets 。 http://doc.qt.io/qt-5/qwebengineview.html You need to add the QtWebEngine library to the linker. Open the qmake .pro file and add QT += webenginewidgets. http://doc.qt.io/qt-5/qwebengineview ...

相关文章

更多

最新问答

更多
  • 获取MVC 4使用的DisplayMode后缀(Get the DisplayMode Suffix being used by MVC 4)
  • 如何通过引用返回对象?(How is returning an object by reference possible?)
  • 矩阵如何存储在内存中?(How are matrices stored in memory?)
  • 每个请求的Java新会话?(Java New Session For Each Request?)
  • css:浮动div中重叠的标题h1(css: overlapping headlines h1 in floated divs)
  • 无论图像如何,Caffe预测同一类(Caffe predicts same class regardless of image)
  • xcode语法颜色编码解释?(xcode syntax color coding explained?)
  • 在Access 2010 Runtime中使用Office 2000校对工具(Use Office 2000 proofing tools in Access 2010 Runtime)
  • 从单独的Web主机将图像传输到服务器上(Getting images onto server from separate web host)
  • 从旧版本复制文件并保留它们(旧/新版本)(Copy a file from old revision and keep both of them (old / new revision))
  • 西安哪有PLC可控制编程的培训
  • 在Entity Framework中选择基类(Select base class in Entity Framework)
  • 在Android中出现错误“数据集和渲染器应该不为null,并且应该具有相同数量的系列”(Error “Dataset and renderer should be not null and should have the same number of series” in Android)
  • 电脑二级VF有什么用
  • Datamapper Ruby如何添加Hook方法(Datamapper Ruby How to add Hook Method)
  • 金华英语角.
  • 手机软件如何制作
  • 用于Android webview中图像保存的上下文菜单(Context Menu for Image Saving in an Android webview)
  • 注意:未定义的偏移量:PHP(Notice: Undefined offset: PHP)
  • 如何读R中的大数据集[复制](How to read large dataset in R [duplicate])
  • Unity 5 Heighmap与地形宽度/地形长度的分辨率关系?(Unity 5 Heighmap Resolution relationship to terrain width / terrain length?)
  • 如何通知PipedOutputStream线程写入最后一个字节的PipedInputStream线程?(How to notify PipedInputStream thread that PipedOutputStream thread has written last byte?)
  • python的访问器方法有哪些
  • DeviceNetworkInformation:哪个是哪个?(DeviceNetworkInformation: Which is which?)
  • 在Ruby中对组合进行排序(Sorting a combination in Ruby)
  • 网站开发的流程?
  • 使用Zend Framework 2中的JOIN sql检索数据(Retrieve data using JOIN sql in Zend Framework 2)
  • 条带格式类型格式模式编号无法正常工作(Stripes format type format pattern number not working properly)
  • 透明度错误IE11(Transparency bug IE11)
  • linux的基本操作命令。。。