我正在尝试在使用Qt开发的Windows Mobile上运行一个简单的SQLITE应用程序。但是我无法管理它,尽管我用Qt开发了其他Windows Mobile应用程序。根本错误是移动设备/模拟器无法找到SQLITE驱动程序,因为我收到“找不到驱动程序”错误,以下代码片段也证明了这一点:
#include <QCoreApplication>
#include <QSqlDatabase>
#include <QStringList>
#include <QtDebug>
int main( int argc, char **argv )
{
QCoreApplication app( argc, argv );
// returns true on mobile platform and false on desktop app.
qDebug() << QSqlDatabase::drivers().empty();
}
如果您能回答以下问题,我将不胜感激:
1)在配置Qt时,是否必须指定任何标志才能使用SQLITE。这样: configure -qt-sql-sqlite ? configure -help 表示这些标志:
-qt-sql-<driver> ... Enable a SQL <driver> in the Qt Library. -plugin-sql-<driver> Enable SQL <driver> as a plugin to be linked to
在运行时。 可用值: MySQL的 PSQL OCI ODBC TDS db2 + sqlite sqlite2 广积 (已检测到标有“+”的驱动程序 在此系统上可用)
和Windows Ce / Mobile特定的一个:
Qt for Windows CE only:
-no-iwmmxt ......... Do not compile with use of IWMMXT instructions
+ -iwmmxt ............ Do compile with use of IWMMXT instructions (Qt for Wind
ows CE on Arm only)
* -no-crt ............ Do not add the C runtime to default deployment rules
-qt-crt ............ Qt identifies C runtime during project generation
-crt <path> ........ Specify path to C runtime used for project generation.
-no-cetest ......... Do not compile Windows CE remote test application
+ -cetest ............ Compile Windows CE remote test application
-signature <file> .. Use file for signing the target project
-opengl-es-cm ...... Enable support for OpenGL ES Common
-opengl-es-cl ...... Enable support for OpenGL ES Common Lite
-opengl-es-2 ....... Enable support for OpenGL ES 2.0
* -phonon-wince-ds9 .. Enable Phonon Direct Show 9 backend for Windows CE
2)我应该在部署期间添加哪些额外的文件/ libs / dll?
感谢。
答案 0 :(得分:0)
使用 -sql-sqlite 重新配置软件包就足够了[实际我输入的内容] configure -platform win32-msvc2005 -xplatform wincewm60professional- msvc2005 -qt-sql-sqlite ]解决问题。否则,它将使用 -plugin-sql-driver 标志构建 - 我不知道为什么这个不起作用。