QT添加库目录
今天发布一个使用使用qsql4.dll(QODBC)连接sqlserver的应用程序时一直显示 “Driver not loaded” (找不到数据库驱动),连接不上数据库,本地调试却正常,网上查看资料发现原来本地安装QT是默认了一个库加载目录为QT_Install/plugins,这里面有很多QT库依赖库目录,像编码库codec,和数据库的驱动文件sqldrivers,发布程序到别人机器时,由于库文件缺失或者库目录配置不正确都回导致各种不正常行为,解决方案为程序在初始化时使用 QApplication (GUI app)或QCoreAppliction (non GUI app)的addLibraryPath 函数加入库目录(本地调试时相当于自动调用了QCoreAppliction::addLibraryPath(QT_Install/plugins) ),然后把需要的库目录文件夹(要和qt plugins文件夹的目录名一样)和文件加入就可以了。 本案的解决方案为: 在main开始处调用 1.QCoreAppliction::addLibraryPath(QCoreAppliction::ApplicationDirPath()) 2. 在程序所在目录创建文件夹sqldrivers(和qt plugins目录下的一致) 3. 把mssql的驱动文件qsqlodbc4.dll(在qt pluginssqldrivers下有)拷贝进去 问题解决。 以后遇到类似问题就要举一反三了。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |