[SLOVED] QCA - Installation Unix-Platform

Verschiedenes zu Qt
Antworten
jd
Beiträge: 130
Registriert: 22. Januar 2008 17:55

[SLOVED] QCA - Installation Unix-Platform

Beitrag von jd »

Hallo Gemeinde,

ich entwickle auf Debian - SID.

Ich habe mir die QCA-Library runtergeladen und installiert.
Die installation klappt wunderbar und die Library kann auch verwendet werden. Nun habe ich aber das Problem. Um die QCA-Library zu installieren habe ich noch ein paar andere Sachen benötigt:
Configuring qca-ossl ...
Verifying Qt 4 build environment ... ok
Checking for QCA >= 2.0 ... yes
Checking for OpenSSL ... yes
OpenSSL verstehe ich aber warum soll ich aus dem apt-repo qca installieren, wenn ich das doch kompilieren will? Das raffe ich nicht.

Nun gut also habe ich die benötigten Sachen installiert:
apt-get install libqca2 libqca2-dev libqca2-plugin-ossl
QCA lässt sich dann problemlos kompilieren.

Da mein Programm nun mit QCA umgehen kann, stelle ich mir nun die Frage wie ich das auf andere Systeme portieren kann.

Um qt4 Programme kompilieren zu können wird auf unix-systemen lediglich das dev(el) paket von libqt4 benötigt, die abhänigkeiten des jeweiligen Paketsystems machen den Rest. Das ist noch für jeden (auch Anfänger) nachvollziehbar und nicht weiter dramatisch.

Nun muss man aber noch QCA installieren und da geht es los.
Die qca-library, die ich durch das kompilieren von qca erhalte liefere ich in meinem Projekt mit (libqca-ossl.so). Nun benötige ich aber noch die *.h-files und da wird es kritisch. bei mir sind die unter /usr/include/QtCrypto, aber wie ist das bei anderen Distributionen?

Mein Programm lässt sich NUR mit der folgenden .pro-file kompilieren, ansonsten bekomme ich ein "no such file or directory"

Code: Alles auswählen

TEMPLATE = app
TARGET = ./bin/qcryption
QT += core \
HEADERS += 
SOURCES += src/main.cpp
FORMS += 
RESOURCES += 
LIBS += ./libs/libqca-ossl.so
UI_DIR += ./build/
MOC_DIR += ./build/moc/
OBJECTS_DIR += ./build/obj/
RCC_DIR += ./build/
CONFIG += qt \
    debug \
    warn_on
INCLUDEPATH += /usr/include/QtCrypto
Das Auge sollte auf die Parameter INCLUDEPATH gerichtet sein.

Kann ich denn einfach den Ordner /usr/include/QtCrypto in mein Projekt-Space kopieren, und den mitliefern? Weil ich möchte den Benutzern meines Programms ersparen QCA zu installieren, das man libqt4-dev(el) installieren muss ist das höchste aller Gefühle. Wenn man dann aber noch zusätzliche Programme selber kompilieren muss das ist das nicht schön. Weiß jemand was man da machen kann? Ich würde auch alternatic eine eigene Installationsrutine bauen, so das alles automatisch gemacht wird (egal welche Distribution), aber wie?
Zuletzt geändert von jd am 27. März 2008 16:12, insgesamt 1-mal geändert.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Also entweder baut man rpms (oder debs oder was auch immer) und gibt denen die dependencies mit (passiert meist automatisch) oder man verteilt die Sourcen und der User muss es slebst kompilieren. Dabei muss der natürlich auch alle Dependencies auf seinem Rechner installiert haben (also auch qca2).
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
jd
Beiträge: 130
Registriert: 22. Januar 2008 17:55

Beitrag von jd »

Nicht sehr erfreulich. Aber was ist qca2? Wofür ist das gut? QCA kann ich ohne qca2 nicht kompilieren. Verstehe den unterschied nicht ganz zwischen den beiden Paketen. Oder ist QCA einfach nur eine Erweiterung für qca2?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

qca2 ist die aktuelle qca - Version -> http://delta.affinix.com/qca/
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
jd
Beiträge: 130
Registriert: 22. Januar 2008 17:55

Beitrag von jd »

Ach so, da qca2 bei mir im deb-repo ist, bräuchte ich das ja gar nicht per Hand kompilieren oder sehe ich das falsch?

//EDIT
Ich check das einfach nicht ich brauche qca2 um qca zu kompilieren? Wie soll das gehen? Wenn es doch das selbe Packet ist... Wäre genau so, wenn ich qt4 installiert haben muss um es zu kompilieren...
jd
Beiträge: 130
Registriert: 22. Januar 2008 17:55

Beitrag von jd »

So habe das Problem jetzt gelöst...

QCA ist in 2 Große Teile gegliedert:

Die User-Api (QCA2)
Die Provider-Api (SSL, GnuPGP, etc.)

Die Provider-Api ist Abhänig von der User-Api.

Nachlesen kann man das ganze hier: http://delta.affinix.com/docs/qca/

// EDIT
Um alles in einem Programm mit zu liefern, und das mit den Abhänigkeiten auf eine geschickte Art zu lösen kann ich das SVN-Reposotory von PSI (Qt-Based Jabber-Client) empfehlen, da das dort der fall ist. Es eigentlich eine reine *.pro Sache :)

Stichwort: subdirs (http://doc.trolltech.com/4.3/qmake-vari ... ml#subdirs)

http://dev.psi-im.org/websvn/listing.ph ... h=%2F&sc=0
Das PSI repo ist in der Hinsicht eine kleine Goldgrube :)
Antworten