Seite 1 von 1

[gelöst] Problem beim Kompilieren (Leerzeichen im Pfad)

Verfasst: 21. Juli 2005 19:03
von KarlBlau
Hi,

ich habe folgendes Problem:

Ich habe einen Dialog mit dem QT Designer erstellt (keinen Code, nur die Oberfläche, ohne Slots usw.) -> myform.ui und folgende main:

Code: Alles auswählen

#include <qapplication.h>
#include "myform.h"

int main(int argc, char *argv[])
{
	QApplication app(argc, argv);
	myForm *form=new myForm;
	app.setMainWidget(form);
	form->show();
	
	return app.exec();
}
Nach 'make' erscheint folgendes:

Code: Alles auswählen

g++  -o 01 - myForm main.o myform.o moc_myform.o   -L/usr/lib/ -L/usr/lib/qt3/lib/ -L/usr/X11R6/lib/ -lqt -lXext -lX11 -lm
g++: myForm: Datei oder Verzeichnis nicht gefunden
g++: -E required when input is from standard input
make: *** [01] Fehler 1
Hat jemand eine Idee was falsch ist?

Merci,

Karl

Verfasst: 22. Juli 2005 00:45
von lepsai
bin wahrlich kein gcc Guru, aber das ist doch sehr kommisch
-o 01 - myForm main.o myform.o moc_myform.o -L/usr/lib/ -L/usr/lib/qt3/lib/ -L/usr/X11R6/lib/ -lqt -lXext -lX11 -lm

Sollte wahrscheinlich heißen:
-O1 -o myForm main.o myform.o moc_myform.o -L/usr/lib/ -L/usr/lib/qt3/lib/ -L/usr/X11R6/lib/ -lqt -lXext -lX11 -lm

Problem erkannt

Verfasst: 22. Juli 2005 14:27
von KarlBlau
Der Ordner, in dem das ganze gespeichert ist, heißt '01 - myForm'. Wenn ich mit 'qmake -project' die pro-Datei erstelle heißt die dann auch '01 - myForm.pro'. GCC hat damit Probleme, da die Leerzeichen innerhalb der Namen stehen.
Ich habe also die Leerzeichen aus dem Verzeichnisnamen gelöscht und habe qmake erneut ausgeführt. Et voila - es geht.

Gruss,

Karl

Re: Problem erkannt

Verfasst: 31. August 2006 12:12
von Mister_Crac
KarlBlau hat geschrieben: Ich habe also die Leerzeichen aus dem Verzeichnisnamen gelöscht und habe qmake erneut ausgeführt. Et voila - es geht.
Genau. Warum das aber so ist - keine Ahnung. Ist es ein "Feature", dass Qt keine Leerzeichen in Verzeichnisnamen unterstützt? Oder haben die geschlafen und vergessen das zu implementieren? ;-) Bzw. ist es normal dass man mit einem gcc oder g++ keine Quelldateien in Verzeichnissen kompilieren kann, die Blanks enthalten?

Verfasst: 31. August 2006 12:38
von Christian81
Das geht erst mit Qt4 korrekt - Leerzeichen sind immer ein Problem in Datei/Verzeichnisnamen.

Verfasst: 31. August 2006 16:13
von Mister_Crac
Christian81 hat geschrieben:Das geht erst mit Qt4 korrekt - Leerzeichen sind immer ein Problem in Datei/Verzeichnisnamen.
Ich nehme mal an, es funktioniert dann korrekt wenn man die von Qt generierten Makefiles von Hand anpasst und eventuell vorhandene Leerzeichen in den Verzeichnisnamen "escapet"?