2011-11-24 84 views
0

我构建了Oracle数据库的插件,并且非常高兴地使用我的Qt程序和Oracle 10g XE。Qt Oracle插件注册

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

C:\ QtSDK \ Desktop \ Qt \ 4.7.4 \ msvc2008 \ plugins \ sqldrivers;所有作品都很完美

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

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

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

有没有一种方法可以注册或启用驱动程序,所以我不必一遍又一遍地在需要它的每台机器上构建它?

回答

0

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

或者是的,你可以在新机器上重新编译它们。