[gelöst] QAssistant unter Windows
[gelöst] QAssistant unter Windows
Hi!
Ich benutze den QAssistant für eine User-Hilfe in meinem Programm. Unter Linux kompiliert das ganze auch (nach Kopieren der Exec). Unter Windows habe ich die assistant.exe ins Programmverzeichnis kopiert, der Makefile CONFIG += assistant hinzugefügt und bekomme in minGW den Fehler
"cannot find -lQtAssistantClientd"
Was habe ich falsch gemacht/ vergessen?
Danke für die etwaige Hilfe!
Ich benutze den QAssistant für eine User-Hilfe in meinem Programm. Unter Linux kompiliert das ganze auch (nach Kopieren der Exec). Unter Windows habe ich die assistant.exe ins Programmverzeichnis kopiert, der Makefile CONFIG += assistant hinzugefügt und bekomme in minGW den Fehler
"cannot find -lQtAssistantClientd"
Was habe ich falsch gemacht/ vergessen?
Danke für die etwaige Hilfe!
Zuletzt geändert von C_R am 11. September 2007 09:45, insgesamt 1-mal geändert.
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Nunja, ich hatte meine makefile so abgeändert, dass er den release ausspuckt. Beim Kompilieren gibt es auch keinerlei Fehler. Will ich nun den assistant über mein Programm aufrufen, passiert allerdings gar nichts.
Kennt jemand evtl. das Problem oder hat einen Tip?
Die Forensuche hat mir nicht wirklich weitergeholfen.
Kennt jemand evtl. das Problem oder hat einen Tip?
Die Forensuche hat mir nicht wirklich weitergeholfen.
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Ich weiss nicht, wie ich das debuggen könnte - unter Linux funktioniert es ja einwandfrei, daher nehme ich an, alles ist richtig verbunden. Ich rufe ihn über einen Menü-Leisten-Eintrag auf, wie auch verschiedene Dialoge (die funktionieren). Also gebe ich dir ersteinmal den Code des erstellens - evtl. hapert es ja schon dort..
und bei Betätigen des entsprechenden Buttons wird das aufgerufen:
Ok.. ich debugge morgen, ob er help() aufruft..falls du/ihr nichts siehst/seht auf anhieb, melde ich mich morgen (habe nun Feierabend und muss den Bus erwischen
), ob ggf. ein Dialog dort aufgerufen werden kann.
Code: Alles auswählen
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
{
setWindowIcon(QIcon(":/res/icons/appicon.png")); // :/ Data saved as Qt Resource in icons.qrc file (rcc)
setWindowTitle("GPS Satellite Prediction Tool");
setObjectName("mainWin"); // used to find the main window from everywhere within qt-objects (QT-Widget list)
createMenuBar();
createToolBar();
createStatusBar();
createCentralWidget();
showMaximized();
// built-in help center / online help / onlinehilfe
helpCenter = new QAssistantClient(QDir::currentPath() + QDir::convertSeparators("/") + QString("documentation"), this);
QStringList assistantArgs;
assistantArgs << "-profile" << "documentation/satPred.adp";
helpCenter->setArguments(assistantArgs);
}Code: Alles auswählen
void MainWindow::help()
{ // open the integrated help center
helpCenter->openAssistant();
}-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Also ich habs "gefixt", sag ich mal..
helpCenter = new QAssistantClient(QDir::currentPath() + QDir::convertSeparators("/") + QString("documentation"), this);
habe ich mit
helpCenter = new QAssistantClient(QDir::currentPath(), this);
erstezt. Obwohl die assistant.exe in currentPath()/documentation auch liegt, konnt er die dort scheinbar nicht aufrufen. Aus dem Applikationsordner funkioniert es. oO Ist das eventuell eine Restriktion?
helpCenter = new QAssistantClient(QDir::currentPath() + QDir::convertSeparators("/") + QString("documentation"), this);
habe ich mit
helpCenter = new QAssistantClient(QDir::currentPath(), this);
erstezt. Obwohl die assistant.exe in currentPath()/documentation auch liegt, konnt er die dort scheinbar nicht aufrufen. Aus dem Applikationsordner funkioniert es. oO Ist das eventuell eine Restriktion?
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
äh naja, habs nun endlich herausgefunden:
Da das Programm ja cross-plattform-tauglich sein soll, hatte ich sowohl die Linux
assistant
und die Windows
assistant.exe
In einem Ordner und Windows scheint das überhaupt nicht zu mögen. Löscht man die assistant (linux) bei der Windows-Version, klappts 1a.
Hat also nix mit den obigen Dingen (Ordner) zu tun..
Da das Programm ja cross-plattform-tauglich sein soll, hatte ich sowohl die Linux
assistant
und die Windows
assistant.exe
In einem Ordner und Windows scheint das überhaupt nicht zu mögen. Löscht man die assistant (linux) bei der Windows-Version, klappts 1a.
Hat also nix mit den obigen Dingen (Ordner) zu tun..