【发布时间】:2015-05-29 08:35:33
【问题描述】:
我有一个应用程序,它应该连接到数据库。 在linux下我没有问题,但在windows下 - >我必须添加到系统“路径”位置,放置QT环境(C:/QT/Tools/QTCreator/bin)否则它不起作用并显示如下错误。 如果我也将 exe 文件放在 pendrive 上,id 不起作用
我想把这个应用程序发送给我的朋友,他们不应该安装 QT 环境而只运行这个应用程序。
我的随身碟上的目录
/ 应用程序 插件(目录) -qsqlpsql.dll -sqldrivers(目录) --qsqlpsql.dll
我该怎么办?我哪里弄错了?
专业文件:
QT += core gui sql
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = NZP
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.ui
win32{
LIBS += -L"C:/Program Files/psqlODBC/0903/bin"
}
RC_FILE += Info.rc
在我的 main.cpp 中:
QApplication a(argc, argv);
qDebug()<<QCoreApplication::applicationDirPath();
a.addLibraryPath(QCoreApplication::applicationDirPath());
a.addLibraryPath(QCoreApplication::applicationDirPath()+"/plugins");
qDebug()<<a.libraryPaths();
MainWindow w;
w.show();
return a.exec();
如果我在安装了 QT 的 Windows 下运行这个应用程序——everythink 是正确的,但如果我将它移动到 pendrive 上或在没有 QT 框架的机器下运行——我会出错:
QSqlDatabase: QPSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QODBC3 QODBC QPSQL QPSQL7
无法打开数据库连接。指定的驱动程序无效。
我在互联网上看过,但现在还没有明智的解决方案 帮忙!
【问题讨论】:
-
90% 你的 PSQL 驱动看不到
libpq.dll
标签: c++ windows qt postgresql