Seite 1 von 1

Anwendung auf einem anderen Rechner zum Laufen bringen?

Verfasst: 31. März 2008 13:51
von wowa777
Ich habe ein Visual Studion 2005 C++ Projekt, was ich an einem anderen Rechner zum Laufen bringen möchte. Dafür benutze ich die Option "Setup-Projekt", was soweit ganz gut klappt und mir eine exe + msi Datei erstellt. Damit kann ich es schonmal auf dem anderen Rechner installieren. Mittlerweile lässt sich die Anwendung sogar ausführen und ich sehe meine GUI. Allerdings läuft das Programm nicht...

Beim Start bekomme ich u.a. folgende Meldungen:

Code: Alles auswählen

QMetaObject::connectSlotsByName: No matching signal for on_blabla_clicked (bool)
und

Code: Alles auswählen

Creating ModuleHandle failed
Da dieselbe Installation auf dem Entwicklungsrechner läuft, vermute ich, dass auf dem anderen Rechner noch irgendwas von Qt fehlt. Aber was? Ich hoffe, ihr könnt mir helfen.

Verfasst: 31. März 2008 14:01
von Christian81
Der connectSlotsByName() - Fehler tritt hundertprozentig auch auf dem Entwicklungsrechner auf. Und beim anderen Fehler würde ich das auch vermuten, kann es aber nicht genau sagen da dies , denke ich, keine Qt-Fehlermeldung ist sondern von Deinem Programm kommt.

Verfasst: 31. März 2008 14:19
von wowa777
Du hast recht. Die erste Meldung tritt tatsächlich auch auf dem Entwicklungs-PC auf und die zweite ist eine selbstdefinierte. Sie erscheint im else-Zweig der Abfrage

Code: Alles auswählen

if(pluginHandle)
wobei dieses so definiert ist

Code: Alles auswählen

HMODULE pluginHandle = LoadLibraryA(pluginPath.c_str());
und pluginPath ein übergebener String-Parameter ist.

Verfasst: 31. März 2008 14:30
von Christian81
Erstens benutzt man nicht LoadLibrary (und schon gar nicht LoadLibraryA inklusive unnötiges wandeln in einen std::string) sondern QLibrary und zweitens wird wohl der Pfad nicht passen.

Verfasst: 31. März 2008 14:33
von wowa777
Dieses Problem tritt auf dem Entwicklungsrechner jedoch nicht auf. Demnach müsste der Pfad doch passen, oder?

Das Programm stürzt übrigens auch auf dem Entwicklungsrechner ab, wenn man versucht, den eigentlichen Programmablauf anzustoßen. Es erscheint der Just-in-time-Debugger von VS und dann ist Schluss.... :evil:

Verfasst: 31. März 2008 15:54
von wowa777
Wie mache ich eigentlich Qt auf dem Zielrechner verfügbar? Was muss ich dafür vorher installieren oder meinem Setup-Projekt mitgeben? Irgendwelche dll's?

Verfasst: 31. März 2008 15:54
von PeterLustig
Die Qt DLLs die du benutzt, und evtl. noch die benutzten Plugins.

Verfasst: 31. März 2008 16:01
von wowa777
Wie kann ich denn genau feststellen, welche Qt-dll's ich benutze? Reicht es, wenn ich die in den Ordner schmeiße, in dem sich auch die exe befinden wird?

Verfasst: 31. März 2008 16:07
von PeterLustig
Na welche Libraries benutzt du denn? Abhängig davon sind die benötigten DLLs. Unter Windows müssen die DLLs unter einen von 3 möglichen Pfaden liegen:
1) Im System32 Verzeichnis
2) In einem Verzeichnis das in der PATH Variable steht
3) Im Auszuführenden Verzeichnis