So fügen Sie dem Qt-Projekt eine Crypto ++ - Bibliothek hinzu

Ich habe die Crypto ++ - Quelle heruntergeladen und das Cryptlib-Projekt in Visual Studio 2013 kompiliert. Anschließend habe ich meinem Qt-Projekt die generierte LIB-Datei hinzugefügt. Dadurch sah meine PRO-Datei folgendermaßen aus:

QT       += core gui

QT += sql

greaterThan(QT_MAJOR_VERSION, 4):QT += widgets

TARGET = untitled
TEMPLATE = app


SOURCES += main.cpp\
        mainwindow.cpp

HEADERS  += mainwindow.h \
        databasecontrol.h \
    test.h

FORMS    += mainwindow.ui

win32:CONFIG(release, debug|release): LIBS += -L$PWD/ -lcryptlib
else:win32:CONFIG(debug, debug|release): LIBS += -L$PWD/ -lcryptlibd
else:unix: LIBS += -L$PWD/ -lcryptlib

INCLUDEPATH += $PWD/
DEPENDPATH += $PWD/

win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $PWD/libcryptlib.a
else:win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $PWD/libcryptlibd.a
else:win32:!win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $PWD/cryptlib.lib
else:win32:!win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $PWD/cryptlibd.lib
else:unix: PRE_TARGETDEPS += $PWD/libcryptlib.a

Unmittelbar nach dem Hinzufügen dieser Bibliothek zum Projekt erstelle ich sie und erhalte die folgende Fehlermeldung:

:-1: error: No rule to make target 'C:/Users/Special Services/WorkOrder/libcryptlibd.a', needed by 'debug\untitled.exe'. Stop.

Ich glaube, ich verstehe, dass der Fehler mir sagt, dass ich eine zusätzliche Zeile brauche, in der alleelse:win32 Linien sind unterDEPENDPATH... oder liegt es daran, dass die hinzugefügten Zeilen verwendet werden$$PWDist das nicht ein Unix-Befehl? Ich habe mich in anderen Fällen umgesehen und bin mir ziemlich sicher, dass das Problem in der .pro-Datei liegt.

BEARBEITEN:

Ich habe mich für einen anderen Ansatz entschieden. Ich habe alles beseitigt, was durch den Import einer Bibliothek zu meiner .pro-Datei hinzugefügt wurde, und stattdessen einfach diese Codezeile an ihre Stelle gesetzt:

win32:LIBS += C:\Qt\5.2.1\mingw48_32\include\cryptopp\Win32\Output\Debug\cryptlib.lib (Der Pfad zur Datei cryptlib.lib)

Das hat prima funktioniert. Ich habe sichergestellt, dass sich alle cryptopp-Header-Dateien in meinem include-Verzeichnis befinden.C:\Qt\5.2.1\mingw48_32\include\cryptopp

Ich habe dann versucht, eine Datei mit aufzunehmen#include <cryptopp/aes.h> und es hat gut gebaut. Das erste Mal, als ich baute, gab es mehr als 40 Warnungen, aber das zweite Mal, als ich baute, baute es ohne irgendwelche.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage