C++ Qt-Oracle插件注册

C++ Qt-Oracle插件注册,c++,qt,C++,Qt,我为oracle数据库构建了插件,并一直很高兴地使用我的Qt程序和oracle 10g XE 构建插件时,创建了qsqlocid4.dll和qsqlocid4.lib文件;我只是将这些文件复制到了这个位置: C:\QtSDK\Desktop\Qt\4.7.4\msvc2008\plugins\sqldrivers;一切都很完美 然而,我在另一台计算机上安装了Qt和Oracle,我需要在这台“新”机器上重新编译相同的程序。我认为只需将*.lib和*.dll文件(已构建的驱动程序)复制到第二台计算机

我为oracle数据库构建了插件,并一直很高兴地使用我的Qt程序和oracle 10g XE

构建插件时,创建了qsqlocid4.dll和qsqlocid4.lib文件;我只是将这些文件复制到了这个位置:

C:\QtSDK\Desktop\Qt\4.7.4\msvc2008\plugins\sqldrivers;一切都很完美

然而,我在另一台计算机上安装了Qt和Oracle,我需要在这台“新”机器上重新编译相同的程序。我认为只需将*.lib和*.dll文件(已构建的驱动程序)复制到第二台计算机中Qt安装的插件文件夹中即可使其工作(这台计算机还安装了VS2008,因此生成插件的编译器对于这两台计算机都是相同的)

不幸的是,当我在第二台机器上执行我的程序时,它告诉我它无法加载Oracle插件

我想这是因为我只是复制了驱动程序,而不是在第二台机器上创建的;正因为如此,我认为在创建驱动程序的过程中,Qt启用或注册它以备将来使用


有没有一种方法可以注册或启用驱动程序,这样我就不必在每台需要它的机器上反复构建它?

当您在第一台机器上编译Qt DLL并将它们复制到指定目录时,Qt系统很可能仍然使用原始目录中的它们。。。不知怎的,我记得Qt将安装路径嵌入到可执行文件中。。。也许我错了。您应该将插件放在“sqldrivers”目录中,该目录位于应用程序运行的目录中(即:尝试加载插件的“exe”和“sqldrivers”子目录位于同一目录中)

或者,您可以在新机器上重新编译它们