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 plugins\sqldrivers下有)拷贝进去


问题解决。

以后遇到类似问题就要举一反三了。


你可能感兴趣的:(QT,C/C++)