2010-11-01 8 views
0

vient d'écrire application QT avec le plugin OCI mais je ne peux pas le déployer. i ont fait les étapes suivantes:comment déployer l'application QT avec plugin Oracle

  1. installé QT 4.7 SDK

  2. installé le plugin BEC:

    ensemble incluent =% COMPREND%; c: \ oracle \ oci \ comprennent

    ensemble LIB =% LIB%; c: \ oracle \ oci \ lib \ msvc

    cd% QTDIR% \ src \ plugins \ sqldrivers \ oci

    qmake -o Makefile oci.pro

    nmake

  3. i suivi: "Construire Qt statique sur Windows avec MSVC" modifié le \ mkspecs \ win32-X \ qmake.conf:

    QMAKE_CFLAGS_RELEASE = -O2 -MT

    CONFIG + = qt warn_on libération progressive link_prl plat precompile_header autogen_precompile_source copy_dir_files debug_and_release debug_and_release_target

  4. puis sur le répertoire Qt:

    configure -static -release

    nmake sous-src

  5. je ne suis pas sûr au sujet des prochaines étapes, mais dans ma demande dir i couru:

    qmake -o Makefile myProgram.pro

    nmake

i get fichier .exe dans la version mais j'obtiens l'erreur que le pilote OCI n'est pas chargé ... s'il vous plaît aidez-moi, je eu aucune erreur dans une étape i fait

Répondre

0

Si vous ne compiler votre premier version statique de Qt, puis compiler le plugin OCI? Vous pouvez également le faire en une étape en définissant le commutateur de configuration approprié -qt-sql-oci et en ajoutant les répertoires include et lib requis.

Parce que, dans votre scénario, quel qmake avez-vous utilisé pour compiler votre plugin OCI? Celui statique que vous avez l'intention d'utiliser pour votre application n'est pas encore construit. Il semble donc que votre plugin OCI a été construit avec une version Qt, alors que votre application utilise une autre version (statique) de Qt. Cette discordance est probablement la cause de votre problème.

De même, lorsque vous utilisez des plug-ins statiques, vous devez utiliser la macro Q_IMPORT_PLUGIN. Voir ici pour plus de détails http://doc.qt.io/archives/qt-4.7/plugins-howto.html#static-plugins

Comme l'a demandé, voici une des instructions étape par étape comment cela devrait fonctionner:

  1. Extrait les sources qt pour votre version Qt statique, permet de dire dans C: \ Qt \ 4.7 .0-static

  2. Modifiez qmake.conf comme vous l'avez déjà fait.

  3. Dans votre ligne de commande Visual Studio, changer le répertoire C: \ Qt \ 4.7.0-statique et faire:

    configure -static -release -qt-sql-oci -IC: \ oracle \ oci \ include -L c: \ oracle \ oci \ lib \ msvc

  4. Faites un sous-src nmake

  5. Ensuite, changer la version qt que vous utilisez pour votre application à celui qui vient compilé et exécuter " Exécutez qmake "et" Reconstruire le projet "à partir du menu de construction dans QtCreator (comme vous avez installé Qt SDK, je suppose que vous l'utilisez)

  6. Cela fonctionne avec un peu de chance - l'utilisation du commutateur -qt-sql-oci provoque une construction statique du pilote oci.

+0

pouvez-vous me décrire les étapes que je devrais faire? désolé je rencontre juste trop de problème avec ça ... en digérant des morceaux d'infos :( – kaycee

+0

quand j'essaie de courir à partir de l'invite de commande visual studio la commande suivante: configure -static -release -qt-sql-oci -IC: \ oracle \ oci \ include -L c: \ oracle \ oci \ lib \ msvc Je reçois l'erreur suivante: 'configure' n'est pas reconnu comme commande interne ou externe, programme exécutable ou fichier séquentiel – kaycee

+0

changé en le bon répertoire, par exemple C: \ Qt \ 4.7.0-static \ selon votre configuration, comme vous l'avez fait dans votre description à l'étape 4. –

Questions connexes