由于Qt对sqlite数据库的支持最好(其他数据库驱动好像要收费),因此我们首先sqlite作为数据库开发。当开发完成后,我们要将生成的exe打包,然后放到其他机器上运行。打包的过程很简单,就是将exe与它所需要的动态库(dll)放在同一个文件夹下。而一切就绪后,我们尝试运行exe,结果提示“sqlite driver not load”的问题。这个问题让我头痛了好久,经过网上搜索我终于找到了解决方法:
因为Qt将数据库的驱动当做插件来加载并使用,而插件都是有固定的路径存储以方便管理和加载。而Qt数据库驱动插件默认的路径是INSTALL/plugins/sqldrivers/sqlite.dll,其中INSTALL为exe所在的文件夹,因此我们在打包的时候应该注意按正确路径存放插件。