Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/155.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ QT-PostgreSQL插件错误_C++_Windows_Qt_Postgresql - Fatal编程技术网

C++ QT-PostgreSQL插件错误

C++ QT-PostgreSQL插件错误,c++,windows,qt,postgresql,C++,Windows,Qt,Postgresql,我有一个应用程序,应该连接到数据库。 在linux下,我没有问题,但在windows->下,我必须添加到系统“路径”位置,QT环境位于该位置(C:/QT/Tools/QTCreator/bin),否则它将无法工作,并显示如下错误。 如果我也将exe文件放在pendrive上,id将不起作用 我想将此应用程序发送给我的firends,firends不应该安装QT环境,而只运行此应用程序 在我的潘德里 / app.exe 插件(dir) -qsqlpsql.dll -sqldrivers(dir)

我有一个应用程序,应该连接到数据库。 在linux下,我没有问题,但在windows->下,我必须添加到系统“路径”位置,QT环境位于该位置(C:/QT/Tools/QTCreator/bin),否则它将无法工作,并显示如下错误。 如果我也将exe文件放在pendrive上,id将不起作用

我想将此应用程序发送给我的firends,firends不应该安装QT环境,而只运行此应用程序

在我的潘德里

/ app.exe 插件(dir) -qsqlpsql.dll -sqldrivers(dir) --qsqlpsql.dll

我该怎么办?我哪里弄错了

pro文件:

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
在my 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(); 
无法打开数据库连接。指定的驱动程序无效

我在网上查过,但现在还没有合理的解决办法
救命啊

啊!我发现了问题

一,。 您的安装目标中有以下文件夹结构:

yourap.exe
-plugins -> folder
--sqldrivers -> folder
and you have to copy from migws/bin  not QT/Tools/Creator/bin! 
---qsqlpsql.dll
在应用程序目录中,您必须复制

libeay32.dll
您可以在以下位置找到:

C:\Program Files\psqlODBC\0903\bin (http://www.postgresql.org/ftp/odbc/versions/msi/   - ii used https://ftp.postgresql.org/pub/odbc/versions/msi/psqlodbc_09_03_0300.zip)
在应用程序(main.cpp)中,只需添加路径:

QApplication a(argc, argv);
a.addLibraryPath(QCoreApplication::applicationDirPath()+"/plugins/");
a.addLibraryPath(QCoreApplication::applicationDirPath());

90%的PSQL驱动程序无法看到
libpq.dll
QApplication a(argc, argv);
a.addLibraryPath(QCoreApplication::applicationDirPath()+"/plugins/");
a.addLibraryPath(QCoreApplication::applicationDirPath());