Регистрация плагина Qt Oracle - PullRequest
0 голосов
/ 24 ноября 2011

Я создал плагин для базы данных 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 включает или регистрирует его для будущего использования или чего-то еще.

Есть ли способ, которым я могу зарегистрировать или включить драйвер, чтобы мне не приходилось собирать его снова и снова на каждой машине, которая нуждается в этом?

1 Ответ

0 голосов
/ 23 августа 2012

Есть большая вероятность, что когда вы скомпилировали свои библиотеки Qt на первом компьютере и скопировали их в указанный каталог, система Qt все еще использовала их из исходного каталога ... каким-то образом я напоминаю, что Qt встраиваетпуть установки в исполняемые файлы ... может быть, я ошибаюсь.Вы должны поместить плагины в каталог «sqldrivers», который находится в каталоге, где работает ваше приложение (то есть: «exe», пытающийся загрузить плагин, и подкаталог «sqldrivers» находятся в одном каталоге).

Или да, вы можете перекомпилировать их на новом компьютере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...