IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques Discussion :

Mise en place des plug-ins [QCA]


Sujet :

Bibliothèques

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 38
    Points : 33
    Points
    33
    Par défaut Mise en place des plug-ins
    Bonjour à tous,

    voilà j'ai réussi à installer le framework de QtCrypto sur MacOsX, j'aimerais pouvoir utiliser les plugins pour mon projet (libqca-ossl.dylib).

    J'ai donc télécharger les fichier de librairie des plugins sur le site officiel (un DMG) et j'ai mis comme dans les instructions, les fichiers dans QT_DIR/plugins/crypto
    Celà ne fonctionne pas... le projet compile, s'exécute mais cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!QCA::isSupported("pkey")
    Renvoie systématiquement FALSE... donc pas d'accès au plugins.

    j'ai vérifié les dépendances des librairies avec otool -L, voici le résultat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Nicolas-S:crypto Nicolas$ otool -L libqca-ossl.dylib
    libqca-ossl.dylib (architecture ppc7400):
    	libqca-ossl.dylib (compatibility version 0.0.0, current version 0.0.0)
    	/usr/lib/libssl.0.9.7.dylib (compatibility version 0.9.7, current version 0.9.7)
    	/usr/lib/libcrypto.0.9.7.dylib (compatibility version 0.9.7, current version 0.9.7)
    	qca.framework/Versions/2/qca (compatibility version 2.0.0, current version 2.0.1)
    	QtCore.framework/Versions/4/QtCore (compatibility version 4.2.0, current version 4.2.0)
    	/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3)
    	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.0.0)
    	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 34.0.0)
    	/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0)
    	/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
     
    libqca-ossl.dylib (architecture i386):
    	libqca-ossl.dylib (compatibility version 0.0.0, current version 0.0.0)
    	/usr/lib/libssl.0.9.7.dylib (compatibility version 0.9.7, current version 0.9.7)
    	/usr/lib/libcrypto.0.9.7.dylib (compatibility version 0.9.7, current version 0.9.7)
    	qca.framework/Versions/2/qca (compatibility version 2.0.0, current version 2.0.1)
    	QtCore.framework/Versions/4/QtCore (compatibility version 4.2.0, current version 4.2.0)
    	/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3)
    	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.0.0)
    	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 34.0.0)
    	/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0)
    	/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
    Tout semble bon

    J'ai aussi vu sur un forum que le cache de QT pouvait être la cause de la librairie qui ne se charge pas dû à un "backlist" en fonction des dates de modification de fichier,
    j'ai donc éditer (sans rien toucher) pour que la date de modif du fichier se mette à jour, mais rien n'y fait.

    Pour résumer et être sûr que tout est bon, voici où sont placés les fichiers:

    1- le framework (précompilé) est mis dans /Library/Frameworks/qca.framework
    2- Il y a aussi le fichier crypto.prf placé dans /usr/local/Qt4.6/mkspecs/features (mais cela semble ne pas fonctionner sur Qt Creator, j'utilise
    INCLUDEPATH += /Library/Frameworks/qca.framework/Headers
    LIBS += -framework qca
    dans le fichier .pro à la place pour charger QtCrypto)
    3- les plugins (libqca-ossl.dylib, libqca-gnupg.dylib, ...) sont mis dans /developer/Applications/Qt/plugins/crypto


    Remarque :
    j'ai tenté de charger les librairies manuellement à partir du fichier projet (LIBS += -L <library path>), Qt trouve les fichiers, mais n'a pas l'air d'en vouloir faire usage,
    d'autant plus que j'ai appris que les librairies sont chargées automatiquement par QtCrypto (qui va chercher dans le répertoire Qt_DIR/plugins/crypto)



    Je pense être complet dans ma démarche, quelqu'un aurait-il une idée de comment réussir à "lier" cette librairie ?

    Merci

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 38
    Points : 33
    Points
    33
    Par défaut
    Je connais la raison du problème ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Nicolas-S:~ Nicolas$ qcatool2 plugins --debug
    Qt Library Paths:
      /Developer/Applications/Qt/plugins
      /usr/bin
    plugin: Checking Qt static plugins:
    plugin:   (none)
    plugin: Checking Qt Library Path: /Developer/Applications/Qt/plugins
    plugin:   libqca-gnupg.dylib: failed to load: The plugin '/Developer/Applications/Qt/plugins/crypto/libqca-gnupg.dylib' uses incompatible Qt library. Expected build key "macosx macx g++-4 full-config", got "i386 Darwin g++-4 full-config"
    plugin:   libqca-gnupg_debug.dylib: failed to load: The plugin '/Developer/Applications/Qt/plugins/crypto/libqca-gnupg_debug.dylib' uses incompatible Qt library. Expected build key "macosx macx g++-4 full-config", got "i386 Darwin g++-4 full-config"
    plugin:   libqca-logger.dylib: failed to load: The plugin '/Developer/Applications/Qt/plugins/crypto/libqca-logger.dylib' uses incompatible Qt library. Expected build key "macosx macx g++-4 full-config", got "i386 Darwin g++-4 full-config"
    plugin:   libqca-logger_debug.dylib: failed to load: The plugin '/Developer/Applications/Qt/plugins/crypto/libqca-logger_debug.dylib' uses incompatible Qt library. Expected build key "macosx macx g++-4 full-config", got "i386 Darwin g++-4 full-config"
    plugin:   libqca-ossl.dylib: failed to load: The plugin '/Developer/Applications/Qt/plugins/crypto/libqca-ossl.dylib' uses incompatible Qt library. Expected build key "macosx macx g++-4 full-config", got "i386 Darwin g++-4 full-config"
    plugin:   libqca-ossl_debug.dylib: failed to load: The plugin '/Developer/Applications/Qt/plugins/crypto/libqca-ossl_debug.dylib' uses incompatible Qt library. Expected build key "macosx macx g++-4 full-config", got "i386 Darwin g++-4 full-config"
    Les fichiers du DMG n'ont pas été compilé sur le même système.

    Que faire ?


    Sinon j'ai compilé les sources de qca-ossl à partir de macport, j'obtiens un fichier .bundle ... j'en fais quoi moi de ca ?
    Qt veut des fichier .dylib et impossible d'ouvrir le package du Bundle.


    Que faire ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 38
    Points : 33
    Points
    33
    Par défaut
    Décidément, je lance des topics auxquels je réponds tout seul ^^

    Mais pour les Mac User qui seraient intéressés.

    Il faut compiler les plugins soi-même, ainsi que QtCrypto.
    http://delta.affinix.com/download/qca/2.0/

    Normalement la destination de QCrypto (base) se trouvera dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     /usr/local/lib/qca.framework
    ... à déplacer dans /Library/Frameworks

    également si vous rencontrez des difficultés (comme moi) à compiler un projet via le terminal
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    (dans le dossier)
    ./configure
    (QMAKESPEC=macx-g++ ./configure pour forcer votre compilateur si cela ne fonctionne pas)
     
    make
    (ou QMAKESPEC=macx-g++ make)
     
    sudo make install
    Enfin, à ne pas oublier dans le fichier projet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    INCLUDEPATH += /Library/Frameworks/qca.framework/Headers
    LIBS += -framework qca

    Celà devrait fonctionner...
    Pour vérifier que tout fonctionne dans les plugins
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    qcatool2 plugins --debug

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. La mise à jour automatique des plug-in
    Par jinar dans le forum Eclipse Platform
    Réponses: 0
    Dernier message: 15/04/2008, 14h49
  2. [Test][VS2005] Mise en place des tests unitaires
    Par Dadou74 dans le forum Test
    Réponses: 1
    Dernier message: 31/08/2006, 17h45
  3. Réponses: 3
    Dernier message: 25/08/2006, 18h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo