Anfänger: mit QT erstelle *.exe auf jedem Windows
-
MiltenDawn
- Beiträge: 16
- Registriert: 13. Februar 2007 20:39
Anfänger: mit QT erstelle *.exe auf jedem Windows
Hallo,
Dies ist mein erster Beitrag hier. Deswegen bitte killt mich bitte nicht direkt, wenn ich ausversehen das Falsche Forum genommen habe...
Die SF habe ich benutzt und auch eine Menge gefunden, jedoch nichts, was ich verstehen würde.
Hier also dann mal meine Frage:
Wie kann ich mit QT geproggte Exe-Dateien unter allen Windows Systemen ausführen? Auf meinem eigenen PC, wo natürlich auch QT installiert ist, geht das. Jetzt würde ich aber gerne Programme schreiben, die JEDER auf seinem PC ausführen kann, ohen sich vorher den ganzen Kram zu downloaden. Habe schon gelesen, dass ich unter Windows irgendwie die Libs hinzufügen soll?! Habe jedoch leider nicht die geringste Idee, wie man das machen soll...
mfg Milten
Dies ist mein erster Beitrag hier. Deswegen bitte killt mich bitte nicht direkt, wenn ich ausversehen das Falsche Forum genommen habe...
Die SF habe ich benutzt und auch eine Menge gefunden, jedoch nichts, was ich verstehen würde.
Hier also dann mal meine Frage:
Wie kann ich mit QT geproggte Exe-Dateien unter allen Windows Systemen ausführen? Auf meinem eigenen PC, wo natürlich auch QT installiert ist, geht das. Jetzt würde ich aber gerne Programme schreiben, die JEDER auf seinem PC ausführen kann, ohen sich vorher den ganzen Kram zu downloaden. Habe schon gelesen, dass ich unter Windows irgendwie die Libs hinzufügen soll?! Habe jedoch leider nicht die geringste Idee, wie man das machen soll...
mfg Milten
Hi
ich bin selbst noch blutiger Anfänger und kann dir daher nicht wirklich helfen. Mir ist aber beim durchstöbern des Forums dieser Thread aufgefallen:
http://qtforum.de/forum/viewtopic.php?t=3379
Ich hoffe das dir das wenigstens ansatzweise hilft.
Gruß gxr
ich bin selbst noch blutiger Anfänger und kann dir daher nicht wirklich helfen. Mir ist aber beim durchstöbern des Forums dieser Thread aufgefallen:
http://qtforum.de/forum/viewtopic.php?t=3379
Ich hoffe das dir das wenigstens ansatzweise hilft.
Gruß gxr
Diese ominösen Libs befinden sich im bin-Verzeichnis deiner Qt-Installation (zumindest ist es bei qt4 so...):
Im Regelfal benötigst du hier:
* QtCore4.dll
* QtGui4.dll
Wenn du XML in deinem Projekt verwendest benötigst du noch QtXml4.dll.
Solltest du deine Projekte mit dem MinGW compilieren (ist der Standard bei der OpenSource-Version) kopier bitte noch die mingwm10.dll aus dem bin-Verzeichnis deiner MinGW-Installation.
Die Datein dann einfach in den Ordner mit der *.exe kopieren, nach belieben Zippen und verteilen
Grüße
Franz
Im Regelfal benötigst du hier:
* QtCore4.dll
* QtGui4.dll
Wenn du XML in deinem Projekt verwendest benötigst du noch QtXml4.dll.
Solltest du deine Projekte mit dem MinGW compilieren (ist der Standard bei der OpenSource-Version) kopier bitte noch die mingwm10.dll aus dem bin-Verzeichnis deiner MinGW-Installation.
Die Datein dann einfach in den Ordner mit der *.exe kopieren, nach belieben Zippen und verteilen
Grüße
Franz
Ergänzend: Immer wieder kommt auch die Frage, warum zB JPEG-Bilder auf dem Zielrechner nicht zu sehen sind.franzf hat geschrieben:Diese ominösen Libs befinden sich im bin-Verzeichnis deiner Qt-Installation (zumindest ist es bei qt4 so...):
Im Regelfal benötigst du hier:
* QtCore4.dll
* QtGui4.dll
Wenn du XML in deinem Projekt verwendest benötigst du noch QtXml4.dll.
Solltest du deine Projekte mit dem MinGW compilieren (ist der Standard bei der OpenSource-Version) kopier bitte noch die mingwm10.dll aus dem bin-Verzeichnis deiner MinGW-Installation.
Die Datein dann einfach in den Ordner mit der *.exe kopieren, nach belieben Zippen und verteilen![]()
Antwort: ggfs. aus plugins/imageformats die passende dll noch hinzufügen.
B.
-
-=Freaky=-
- Beiträge: 503
- Registriert: 29. Dezember 2006 22:54
- Wohnort: HL
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Forensuche: statisch linken-=Freaky=- hat geschrieben:dazu habe ich noch eine frage:
ist eiegtnlich allgemein möglich, anstatt einzelne dateien (*.dll, *.exe, *.???, *.etc, *.uvm), die vom programm gebraucht werden, wie z.B. diese dlls, als ressourcen mit in der exe zu kompilieren, sodas man nue eine datei verteilen muss?
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
-
MiltenDawn
- Beiträge: 16
- Registriert: 13. Februar 2007 20:39
gerne:MiltenDawn hat geschrieben:Könnt ihr mir vielleicht nochmla genau sagen was ich machen soll? Am besten Schritt für Schritt!
franzf hat geschrieben:Diese ominösen Libs befinden sich im bin-Verzeichnis deiner Qt-Installation (zumindest ist es bei qt4 so...):
Im Regelfal benötigst du hier:
* QtCore4.dll
* QtGui4.dll
Wenn du XML in deinem Projekt verwendest benötigst du noch QtXml4.dll.
Solltest du deine Projekte mit dem MinGW compilieren (ist der Standard bei der OpenSource-Version) kopier bitte noch die mingwm10.dll aus dem bin-Verzeichnis deiner MinGW-Installation.
Die Datein dann einfach in den Ordner mit der *.exe kopieren, nach belieben Zippen und verteilen.
-
MiltenDawn
- Beiträge: 16
- Registriert: 13. Februar 2007 20:39
Das heißt, ich soll meine kompilierte exe zusammen mit QTCore4.dll und QTgui4.dll in einen Ordner packen und dann kann ich diesen Ordner auf jeden beliebigen "Windows PC" verschieben und die exe dort ausführen?franzf hat geschrieben:gerne:MiltenDawn hat geschrieben:Könnt ihr mir vielleicht nochmla genau sagen was ich machen soll? Am besten Schritt für Schritt!franzf hat geschrieben:Diese ominösen Libs befinden sich im bin-Verzeichnis deiner Qt-Installation (zumindest ist es bei qt4 so...):
Im Regelfal benötigst du hier:
* QtCore4.dll
* QtGui4.dll
Wenn du XML in deinem Projekt verwendest benötigst du noch QtXml4.dll.
Solltest du deine Projekte mit dem MinGW compilieren (ist der Standard bei der OpenSource-Version) kopier bitte noch die mingwm10.dll aus dem bin-Verzeichnis deiner MinGW-Installation.
Die Datein dann einfach in den Ordner mit der *.exe kopieren, nach belieben Zippen und verteilen.
mfg Milten
Genau so geht esMiltenDawn hat geschrieben:Das heißt, ich soll meine kompilierte exe zusammen mit QTCore4.dll und QTgui4.dll in einen Ordner packen und dann kann ich diesen Ordner auf jeden beliebigen "Windows PC" verschieben und die exe dort ausführen?franzf hat geschrieben:gerne:MiltenDawn hat geschrieben:Könnt ihr mir vielleicht nochmla genau sagen was ich machen soll? Am besten Schritt für Schritt!franzf hat geschrieben:Diese ominösen Libs befinden sich im bin-Verzeichnis deiner Qt-Installation (zumindest ist es bei qt4 so...):
Im Regelfal benötigst du hier:
* QtCore4.dll
* QtGui4.dll
Wenn du XML in deinem Projekt verwendest benötigst du noch QtXml4.dll.
Solltest du deine Projekte mit dem MinGW compilieren (ist der Standard bei der OpenSource-Version) kopier bitte noch die mingwm10.dll aus dem bin-Verzeichnis deiner MinGW-Installation.
Die Datein dann einfach in den Ordner mit der *.exe kopieren, nach belieben Zippen und verteilen.
mfg Milten
-
MiltenDawn
- Beiträge: 16
- Registriert: 13. Februar 2007 20:39
Habe das gerade mal ausprobiert. Leder passiert auf dem PC überhaupt nichts, wenn ich auf die exe klicke. Ob nun mit DLLs oder ohne... Es kommt zwar keine Fehlermeldung, allerdings öffnet sic auch nichts.franzf hat geschrieben:Genau so geht esMiltenDawn hat geschrieben:Das heißt, ich soll meine kompilierte exe zusammen mit QTCore4.dll und QTgui4.dll in einen Ordner packen und dann kann ich diesen Ordner auf jeden beliebigen "Windows PC" verschieben und die exe dort ausführen?franzf hat geschrieben:gerne:MiltenDawn hat geschrieben:Könnt ihr mir vielleicht nochmla genau sagen was ich machen soll? Am besten Schritt für Schritt!franzf hat geschrieben:Diese ominösen Libs befinden sich im bin-Verzeichnis deiner Qt-Installation (zumindest ist es bei qt4 so...):
Im Regelfal benötigst du hier:
* QtCore4.dll
* QtGui4.dll
Wenn du XML in deinem Projekt verwendest benötigst du noch QtXml4.dll.
Solltest du deine Projekte mit dem MinGW compilieren (ist der Standard bei der OpenSource-Version) kopier bitte noch die mingwm10.dll aus dem bin-Verzeichnis deiner MinGW-Installation.
Die Datein dann einfach in den Ordner mit der *.exe kopieren, nach belieben Zippen und verteilen.
mfg Milten
Hast du vielleicht ne Idee voran das nun wieder liegen könnte?!
mfg Milten
Ich misch mich mal ein. Soll man jetzt raten? Es könnte durchaus sein das dein Programm noch andere DLLs benötigt, teste das mit Depends.exe. Oder es kommt nicht mit der anderen Umgebung zurecht, findet Dateien nicht usw. Da ist debuggen angesagt. Bau ein paar MsgBoxen ein oder schreib Positionen und Stati in eine Datei, um herauszufinden wo es aussteigt.MiltenDawn hat geschrieben:Hast du vielleicht ne Idee voran das nun wieder liegen könnte?!
-
MiltenDawn
- Beiträge: 16
- Registriert: 13. Februar 2007 20:39
Also das hier ist mein SourceCode:
Das habe ich als exe kompiliert und auf den PC von meinem Vater verschoben. Ohne die DLLs passier gar nichts, wenn ich es starte. Habe jetzt die mingwm10.dll, QtGui4.dll & QtCore4.dll in den selben Ordner gepackt. leider passiert immer noch nichts...
Hat denn keiner eine Idee, voran das liegen könnte?
mfg Milten
Edit: Ok, habe es nun endlich geschafft! Vielen Dank für eure Hilfe! Das hat mir wirklich geholfen!
Falls ihr immernoch Lust habt ne Frage zu beantworten:
Gibt's auch eine Möglichkeit, der exe zu sagen, wo sie die DLLs suchen soll, damit ich sie nicht immer im gleichen Ordner wie die exe liegen haben muss?
Code: Alles auswählen
#include <QApplication>
#include <QLabel>
int main(int argc, char *argv[])
{
QApplication meinProgramm(argc, argv);
QLabel *halloWelt = new QLabel("Hallo Milten!");
halloWelt->show();
meinProgramm.exec();
}Hat denn keiner eine Idee, voran das liegen könnte?
mfg Milten
Edit: Ok, habe es nun endlich geschafft! Vielen Dank für eure Hilfe! Das hat mir wirklich geholfen!
Falls ihr immernoch Lust habt ne Frage zu beantworten:
Gibt's auch eine Möglichkeit, der exe zu sagen, wo sie die DLLs suchen soll, damit ich sie nicht immer im gleichen Ordner wie die exe liegen haben muss?
-
-=Freaky=-
- Beiträge: 503
- Registriert: 29. Dezember 2006 22:54
- Wohnort: HL
-
MiltenDawn
- Beiträge: 16
- Registriert: 13. Februar 2007 20:39
Vielen Dank für den Tipp!
Das kann ich mir dann ja später nochmal angucken... Wollte nur halt sicher gehen, das es funktionieren würde.
Ich hoffe, ich nerve euch nicht, aber ich habe schon wieder eine Frage:
Welche Dateien muss ich noch linken wenn ich dieses Script habe?
QtCore4.dll, QtGui4.dll & Mingwm10.dll reichen dem nämlich irgendwie nicht...
mfg Milten
Das kann ich mir dann ja später nochmal angucken... Wollte nur halt sicher gehen, das es funktionieren würde.
Ich hoffe, ich nerve euch nicht, aber ich habe schon wieder eine Frage:
Welche Dateien muss ich noch linken wenn ich dieses Script habe?
Code: Alles auswählen
#include <QApplication>
#include <QHBoxLayout>
#include <QSlider>
#include <QSpinBox>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget *window = new QWidget;
window->setWindowTitle("Enter Your Age");
QSpinBox *spinBox = new QSpinBox;
QSlider *slider = new QSlider(Qt::Horizontal);
spinBox->setRange(0, 130);
slider->setRange(0, 130);
QObject::connect(spinBox, SIGNAL(valueChanged(int)),
slider, SLOT(setValue(int)));
QObject::connect(slider, SIGNAL(valueChanged(int)),
spinBox, SLOT(setValue(int)));
spinBox->setValue(35);
QHBoxLayout *layout = new QHBoxLayout;
layout->addWidget(spinBox);
layout->addWidget(slider);
window->setLayout(layout);
window->show();
return app.exec();
}
mfg Milten