QT数据库驱动程序
Qt database drivers
i用-plugin-sql-mysql -plugin-sql-sqlite标志构建QT。我有libqsqlmysql.a和libqsqlite.a。我在项目中使用QT。但是我的构建系统不是QT,我使用WAF。
当我尝试运行与MySQL数据库建立连接的应用程序时,我有以下问题:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers:
QSqlDatabase: an instance of QCoreApplication is required for loading driver plugins
INFO - Failed to connect to root mysql admin
我在构建应用程序时将-lqsqlmysql添加到编译器选项中。
您可以解释QT驱动程序的工作方式,如何以及何时尝试加载驱动程序。什么是QT驱动程序(dll,lib,....)?
我认为您的应用程序正在尝试通过DLL动态加载数据库插件。该文档将帮助您找到数据库驱动程序DLL的适当位置。另外,您可以从静态上链接您的应用程序,以下是如何。
QT具有多种类型数据库的插件,这些插件位于以下位置:
$(QTDIR)/plugins/sqldrivers
首先检查MySQL插件是否存在。如果不存在插件,则意味着您无法正确编译QT,因此您应该使用启用的MySQL插件重新编译QT。否则,您的应用程序可能无法正确加载MySQL插件。QT插件在应用程序初始化期间动态加载,即QSQLDATABASE对象初始化。如果未正确设置插件位置,则不会加载任何插件。您可以查看应用程序期望通过以下QT API查找插件的位置:
QStringList QCoreApplication::libraryPaths ()
如果应用程序未指向正确的位置,则可以通过致电:
设置插件路径void QCoreApplication::addLibraryPath ( const QString & path )
或通过在放置可执行文件的文件夹中创建qt.conf文件。在此文件中,您可以通过以下方式配置插件位置:
[Paths]
Plugins = %pluginlocation%
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- C++ Windows 驱动程序MSB3030无法复制该文件,因为它找不到
- 使用mongocxx驱动程序时包含头文件问题
- void*到驱动程序中的UnicodeString
- C++驱动程序看不到头文件
- 用于创建/注册虚拟存储设备的 IOKit 驱动程序
- 员工测试驱动程序数据结构
- 获取 OID(类型::b_oid)作为 MongoDB C++驱动程序中的字符串
- 如何在 c++ 中映射驱动程序?
- 如何在 cuda 中将 kd 树从主机复制到驱动程序
- Visual Studio 如何在内核模式驱动程序项目中使用C++标准库?
- 为什么我的驱动程序只读取部分字符串?
- 为 Sql 服务器实现 odbc 包装器.将数据库数据读取为字符或要求驱动程序将数据转换为 C 类型
- 如何在C++中将OID_PM_WOL_PATTERN_LIST发送到NDIS驱动程序?
- C++ 创建 NdisProt 驱动程序的句柄
- 访问数据库-QODBC驱动程序在管理员上执行授予
- 连接拒绝从C 驱动程序到MySQL数据库
- QT数据库驱动程序
- Sybase DB 错误:数据库驱动程序错误.发送失败
- 使用datastax CPP驱动程序改进在Cassandra数据库中的插入时间