Compilieren QCA unter Windows7 MinGW QtSDK1.2.1



  • Hallo

    Kann mir einer von Euch helfen.
    Mein System :
    Win 7 /QTSDK 1.2.1/
    SRC:
    Win32OpenSSL-1_0_1c.exe
    SRC: qca-2.0.3.tar
    qca-ossl-2.0.0-beta3.tar

    Hab QCA wie folgt erstellet.

    @
    Schritt 1 :
    Die Anleitung bezieht sich auf ein Windows 7 System ,IDE QTCreator 2.4.1,Compiler MinGW

    Beschaffen der Ressourcen.

    -Win32 OpenSSL v1.0.1c.exe
    -vcredist_x86.exe Dateiversion 9.0.21022.8
    -qca-ossl-2.0.0-beta3.tar.bz2
    -qca-2.0.3.tar.bz2

    Schritt 2:

    Datei vcredist_x86.exe als Administrator ausführen.
    Datei Win32 OpenSSL v1.0.1c.exe als Administrator ausführen.
    Verzeichnis „C:\OpenSSL-Win32“

    folgende Verzeichnisse erstellen.
    „c:\local“
    „c:\local\bin“
    „c:\local\include“
    „c:\local\lib“

    Dann wird der Ordner „openssl“aus dem Verzeichnis „C:\OpenSSL-Win32\include\“ nach
    „c:\local\include“ kopiert
    Das gleiche machen wir mit dem Ordner „MinGW“ aus dem Verzeichnis „C:\OpenSSL-Win32\lib\“ nach „c:\local\lib\MinGW“
    Kopieren Sie die Dateien libeay32.a und ssleay32.a von „c:\local\lib\MinGW“ nach „c:\local\lib\MinGW“.
    Benennen Sie die Dateien libeay32 - Kopie.a und ssleay32 - Kopie.a zu libeay32.lib und ssleay32.lib um.

    Führen Sie, in der Console „Eingabeaufforderung“ als Administrator , den folgenden Befehl aus:

    „echo "WINLOCAL_PREFIX = C:/local" > %QTDIR%\mkspecs\features\winlocal.prf“

    Die Umgebungsvariable:
    %QTDIR% Steht für das Qt 4.7.4 Verzeichnis „C:\QtSDK\Desktop\Qt\4.7.4\mingw“
    Wenn nicht vorhanden bitte wie auf den 2 Bilder gezeigt eintragen.

    Schritt 3:

    Die Datei (qca-2.0.3.tar.bz2) nach C:\QtSDK entpacken.
    Und führen Sie folgende Befehle der Reihe nach aus .

    1. Die Console QT 4.7.4 for Desktop(MinGW) als Administrator ausführen.
    1. Mit dem Befehl
      „ cd c:\QtSDK\qca-2.0.3 “
      in das Verzeichnis wechseln.
    2. Dann folgende Befehle in die Console ausführen.
    • „configure --debug-and-release“
    • „mingw32-make“ dauert rund 5Minuten
    • „installwin“
    1. Durch die Befehle werden folgende Dateien erzeugt.
    2. Für Windows (qca2.dll Relaese ,qcad2.dll Debug) für Linux??? (libqca2.a Relaese ,libqcad2.a Debug)
      Kopieren Sie die Dateien libqca2.a und libqcad2.a von „c:\QtSDK\qca-2.0.3 \lib“ nach „c:\QtSDK\qca-2.0.3 \lib“.
      Benennen Sie die Dateien libqca2.a - Kopie.a und libqcad2 - Kopie.a zu libqca2.lib und libqcad2.lib um.
    3. Console beenden.

    Schritt 4:

    qca-ossl-2.0.0-beta3.tar entpacken
    „c:\QtSDK“

    in der zeile 26 der Datei qca-ossl.pro muss eine Änderung vorgenommen werden.

    LIBS += -L$$OPENSSL_PREFIX/lib
    zu
    LIBS += -L$$OPENSSL_PREFIX/lib/MinGW

    1. Die Console QT 4.7.4 for Desktop(MinGW) als Administrator ausführen.
    2. Mit dem Befehl
      „cd C:\QtSDK\qca-ossl-2.0.0-beta3“
      in das Verzeichnis wechseln.
    3. Dann folgende Befehle in die Console ausführen.
    • „configwin r“ oder „configwin rd“
    • „qmake“
    • „mingw32-make“
    1. Beim ausführen der Befehle „mingw32-make“ werden Fehler auftreten.Die irgend etwas mit „md2“ zu tun hat. Wahrscheinlich wird der Verschlüsselungstyp von „openSSL nicht mehr unterstützt.
      Also werden in der Datei „qca-ossl.cpp“ alle 8 Aufrufe von „md2“ geändert.

    @
    Fehlerhaft:

    Zeile: 1774 else if(alg == EMSA3_MD2)
    Zeile: 1775 md = EVP_md2();

    Richtig:

    Zeile: 1774 #ifdef HAVE_OPENSSL_MD2_H
    Zeile: 1775 else if(alg == EMSA3_MD2)
    Zeile: 1776 md = EVP_md2();
    Zeile: 1778 #endif
    @
    Datei „qca-ossl.cpp“ speichern und den Schritt 4.3 nochmal ausführen.

    1. Ordner „%QTDIR%\plugins\crypto “ anlegen
    • und die Dateien qca-ossl2.dll (für Windows) %C:\QtSDK\qca-ossl-2.0.0-beta3\lib% oder libqca-ossl.so (für Linux) von %C:\QtSDK\qca-ossl-2.0.0-beta3\release% in den Ordner kopieren.
      Nun ist das QCA PlugIn für QTSDK verfügbar und kann in Anwendungen mit Hilfe des QtCreator Assistenten „Bibliothek hinzufügen...“ in deine Anwendung(Projekt) eingebunden werden.
      Hinweis: Ich hab zwar versucht Fehler zu vermeiden aber Fehler können sich doch unbemerkt und unerkannt eingeschlichen haben.
      Deshalb übernehme ich keine Verantwortung für die Beschreibung und dessen Folgeschäden.
      Also Ihr allein seid bei Anwendung der Beschreibung für die Folgen verantwortlich !!!!!

    @
    Dann führe ich folgenden Befehl aus.
    @
    C:\QtSDK\qca-2.0.3\bin\qcatool2 plugins
    @

    und erhalte folgende Meldung.

    @
    C:/QtSDK/Desktop/Qt/4.7.4/mingw/plugins
    C:/QtSDK/qca-2.0.3/bin
    Available Providers:
    <none>
    @

    Danach scheint das Plugin nicht richtig in QtCrypto eingebunden zu sein.
    Hab das ganze Netz nach dem Thema (rund 3 Wochen schon)abgesucht und nichts gefunden.
    Kann mir einer von euch helfen, damit das Plugin richtig eingebunden wird?

    Gruß Califax



  • Hallo

    Schade das mir keiner helfen kann.
    In zwischen hab ich eine Feststellung gemacht.
    Ich hab alle oben aufgeführten Componenten installiert danach hab ich immer wieder den Befehl
    @C:\QtSDK\qca-2.0.3\bin\qcatool2 plugins@

    ausgeführt mit dem immer gleichen oben genannten Meldung.

    Nach vielen erfolglosen Versuchen hab ich mir die
    @qca-ossl2.dll@

    im Internet besorgt und nach
    @C:/QtSDK/Desktop/Qt/4.7.4/mingw/plugins/crypto@

    kopiert.
    Und siehe da das war erfolgreich.
    Das legt bei mir Folgerung nahe das meine selbstgebaute
    @qca-ossl2.dll@

    fehlerhaft ist.

    Sind Versions Varianten an der Fehlerhaft gebauten DLL schuld?
    Oder .....

    Kann mir einer von Euch sagen, wo ich was falsch gemacht hab oder mir irgend einen Anhaltspunkt geben?

    Gruß Califax



  • Hallo
    Noch eine Allgemeine Frage zum Forum.

    Wenn der Titeltext Grau dargestellt ist, heist das das Thrad geschlossen ist oder was ?

    Gruß Califax


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.