我正在尝试使用QSqlDatabase hello应用程序PostgreSQL。我的环境如下: Windows 7 64位,Qt 4.8.2,PostgreSQL 9.0.13.下面的代码编译,但不会调试,即当我对QSqlDatabase::drivers()行进行中断时,但是代码会异常退出。当我注释掉这一行时,应用程序将按预期运行。有什么建议吗?
#include <QApplication>
#include <QMainWindow>
#include <QtSql/QtSql>
#include <QtSql/QSqlDatabase>
int main(int argc, char *argv[])
{
QApplication prog(argc, argv);
QMainWindow *mainWin = new QMainWindow;
QStringList drvlst = QSqlDatabase::drivers(); // <-- problem!
mainWin->show();
return prog.exec();
}
发布于 2013-12-05 16:23:52
DLL地狱的另一个例子,以及Dependency如何成为诊断这种性质的潜在bug的一个很好的工具。同样,在本例中,链接器正在遍历PATH环境变量以查找QTSQLD4.DLL库依赖项。链接器找到了openVPN SSLEAY32.DLL (实际上是64位),而不是SSLEAY32.DLL的postgreSQL版本。将openVPN url移到PATH环境变量的末尾解决了这个问题。
https://stackoverflow.com/questions/20379197
复制相似问题