QT-Programm unter Linux ausliefern

Alles rund um die Programmierung mit Qt
Antworten
christiansmac
Beiträge: 11
Registriert: 10. Dezember 2007 16:18

QT-Programm unter Linux ausliefern

Beitrag von christiansmac »

Hallo,

habe ein QT-Programm unter Linux erstellt und möchte dies gerne unserem Auftraggeber ausliefern. Wie mache ich dies am Besten?

Ich würde gerne das Programm statisch linken, da der Zielrechner kein QT installiert hat. Leider bekomme ich bei der Einbindung von MySQL Fehlermeldungen. Habe QT statisch erzeugt und in meine .pro-Datei

Code: Alles auswählen

QTPLUGIN += qsqlmysql
sowie

Code: Alles auswählen

#include <QtPlugin> Q_IMPORT_PLUGIN(qsqlmysql)
in meine Dateien eingefügt. Beim Kompilieren entsteht folgende Fehlermeldung:

Code: Alles auswählen

qsql_mysql.cpp:(.text+0x198): undefined reference to `mysql_close'
Woran könnte dies liegen?

Die Notlösung wäre ein dynamische Programmversion. Welche LIBS muss ich dann mitgeben? Können diese dann einfach in dem Order des Programmes liegen?

Vielen Dank für Eure Unterstützung,
Christian
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

ich würde sagen die (statische) mysql lib fehlt.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
christiansmac
Beiträge: 11
Registriert: 10. Dezember 2007 16:18

Beitrag von christiansmac »

ich würde sagen die (statische) mysql lib fehlt.
Mhh, die MySQL-LIB ist vorhanden (liegt unter /usr/lib64). Muss man diese noch extra einbinden?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Ja, einfach mal bei LIBS im pro-File mit angeben und schauen.
Wenn es eine shared lib ist, musst natürlich auf dem Zielsystem diese schon vorhanden sein (in einer gleichen/ähnlichen Version). Ansonsten müsstest Du das auch statisch kompilieren.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
christiansmac
Beiträge: 11
Registriert: 10. Dezember 2007 16:18

Beitrag von christiansmac »

Habe folgende Zeile in meinem .pro-File:

Code: Alles auswählen

LIBS += -L/usr/lib64 -lmysql
Auf beiden Rechner ist der Ordner in Bezug auf MySQL identisch!
christiansmac
Beiträge: 11
Registriert: 10. Dezember 2007 16:18

Beitrag von christiansmac »

Okay, habe jetzt einfach das Programm dynamisch erzeugt. Klappt auch super, nur beim Starten auf dem Zielrechner erscheint die Nachrichtenbox: Driver not loaded Driver not loaded

Laut ldd programm sind alle LIBS vorhanden. Weiß jemand hierzu Rat?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Ja, Foren-Suche, Qt-Doku (zu Plugins)

Das kommt pro Woche mindestens einmal...

/edit: oder einfach mal die Qt rpms/debs anschauen
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten