Invalid project path

Alles rund um die Programmierung mit Qt
KingV1k
Beiträge: 76
Registriert: 16. Oktober 2006 10:24

Invalid project path

Beitrag von KingV1k »

Hi,

mir wird dieses Warning angezeigt:

Invalid project path: Duplicate path entries.

Was hat es zu bedeuten? Wie krieg ich es weg?

Ich benutze Eclipse, CDT-Plugin, Qt 4 und mingw
KingV1k
Beiträge: 76
Registriert: 16. Oktober 2006 10:24

Beitrag von KingV1k »

da bin ich wieder. dieses warning hab ich noch immer nicht geschafft rauszubekommen. Ein anderes Problem ist, das mehrere meiner selbstgeschriebenen Programme nur aus Eclipse laufen? Damit meine ich das nichts passiert, wenn ich das Programm aus DOS starte oder einfach nur die .exe anklicke (ok es passiert schon was: die cpu-auslastung steigt auf 100% und ich muss dann das gestartete programm mit dem taskmanager killen). Wenn ich aber dieselben Programme aus Eclipse starte dann klappt alles wunderbar. Um das Problem etwas eingrenzen zu können hab ich paar Versuche gestartet.

Vorgeschichte:
Funktionen: (hier verwendete ich selbstgeschriebene .pro und makefile)
ich habe zuerst ein projekt erstellt nur mit Funktionen. komischerweise dort wurde eine .exe-Dateien erstellt. sie befindet sich im main-ordner vom projekt. das programm lässt sich problemlos aus dem main-ordner starten.

GUI: (hier wurden .pro und makefile mit qmake erzeugt)
dann habe ich die gui in einem neuen projekt erstellt. dort wurden zwei .exe-Dateien erstellt. Diese befinden sich im Debug und Release Ordner. Beide lassen sich problemlos starten.

beides zusammen: (hier wurden .pro und makefile mit qmake erzeugt)
Zum Schluss habe ich beide oben genannten Projekte in einem neuen Projekt verbunden. Aus Eclipse lässt es sich problemlos starten. Es wurden wieder zwei .exe-Dateien erstellt. Beide lassen sich nicht starten.


Test (Funktionen):
Nun erstellte ich die .pro und makefile mit Hilfe von qmake. Es wurden wie erwartet zwei .exe-Dateien erstellt. Beide ließen sich nicht starten.

Daraus zieh ich den Schluss, dass das Problem qmake ist.

Der Text ist leider etwas lang geworden, aber bitte hilft mir. Es ist wichtig.

Mfg
KingV1k
KingV1k
Beiträge: 76
Registriert: 16. Oktober 2006 10:24

Beitrag von KingV1k »

ich hab mein problem grad eben noch weiter eingegrenzt.
ich verglich die von qmake erstellte .pro-File mit meiner .pro-File.
ich habe keinen Unterschied darin gesehen. Also liegt das Problem nicht an der .pro.

Mir kommt es so vor als könnte qmake keine richtige makefile erstellen, die auch für normale Projekte ohne qt gültig ist.
KingV1k
Beiträge: 76
Registriert: 16. Oktober 2006 10:24

Beitrag von KingV1k »

bitte sagt mir bescheid, wenn ihr etwas wisst.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Dann erstell doch einfach mal ein kleines Beispielprojket damit wir es nachprüfen können...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
KingV1k
Beiträge: 76
Registriert: 16. Oktober 2006 10:24

Beitrag von KingV1k »

ok hab ich jetzt gemacht.

Standard C++ Projekt erstellt

main.cpp

Code: Alles auswählen

#include <iostream>
#include <string>

using namespace std;
int main()
{
	string test_str;
	cout<<"Bitte was eingeben"<<endl;
	cin>>test_str;
	cout<<test_str<<endl;
	cout<<"funktioniert"<<endl;
}
dann qmake -project
dann qmake
dann mingw32-make -f makefile all

aus eclipse kann ich es wieder starten. funktioniert auch alles. wenn ich es aus der konsole starte dann wird das programm sofort beendet. man findet es auch nicht im taskmanager. wenn man es durch doppelklick starten dann passiert garnichts.

Mfg
KingV1k
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Ich bekomme keine qmake-Fehlermeldung. Weder mit Qt3 noch mit Qt4. Das einzigste was Dir eindeutig fehlt, ist (da es ein Konsolenprogramm ist) mal wieder das berüchtigte

Code: Alles auswählen

config += console
in der pro-Datei.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
KingV1k
Beiträge: 76
Registriert: 16. Oktober 2006 10:24

Beitrag von KingV1k »

hab ich jetzt gemacht mit config += console. klappt aber noch immer nicht. funktioniert nur aus eclipse gestartet.

wieso?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Ach ja, nochwas. Deine main() - Funktion ist falsch!

Code: Alles auswählen

int main(int argc, char *argv[])
und ein return-Wert fehlt...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
KingV1k
Beiträge: 76
Registriert: 16. Oktober 2006 10:24

Beitrag von KingV1k »

ok.
main.cpp

Code: Alles auswählen

#include <iostream>
#include <string>

using namespace std;
int main(int argc, char *argv[]) 
{
	string test_str;
	cout<<"Bitte was eingeben"<<endl;
	cin>>test_str;
	cout<<test_str<<endl;
	cout<<"funktioniert"<<endl;
	return 0;
}
hab ich geändert, aber noch immer dasselbe Problem: lääst sich nur aus Eclipse starten.

Ich hab mir jetzt mal meine eigene .pro und makefile erstellt.

.pro

Code: Alles auswählen

TEMPLATE = app
TARGET = 
DEPENDPATH += .
INCLUDEPATH += .

# Input
SOURCES += main.cpp
(ich weiß das hier das config += console fehlt

makefile

Code: Alles auswählen

all : main.o
	g++ -o main.exe main.o
	
main.o : main.cpp
	g++ -c main.cpp
benutze ich die selbstgemachten .pro und makefile, dann klappt alles wunderbar. es funktioniert aus eclipse, aus konsole und durch doppelklick.

Da meine pro-file sich kaum bis garnicht von der qmake-pro-file unterscheidet komm ich auf den schluss das wmake eine falsche makefile erstellt.

aber wieso? woran liegt es?
tachyon
Beiträge: 29
Registriert: 22. Juli 2006 10:03

Beitrag von tachyon »

Christian81 hat geschrieben:Ach ja, nochwas. Deine main() - Funktion ist falsch!

Code: Alles auswählen

int main(int argc, char *argv[])
und ein return-Wert fehlt...
Nach ANSI ist sowohl

Code: Alles auswählen

int main(void)
(allerdings mit return-Wert)

also auch

Code: Alles auswählen

int main(int argc, char *argv[])
zulässig.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Das ändert aber nichts dran dass Qt nur die eine main-Funktion mag (zumindest unter win32).
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
KingV1k
Beiträge: 76
Registriert: 16. Oktober 2006 10:24

Beitrag von KingV1k »

hat jetzt jemand eine idee woran es liegen könnte?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

KingV1k hat geschrieben:hat jetzt jemand eine idee woran es liegen könnte?
Nein, da es bei mir mit Qt4.2.1 und Qt3.3.6 funktioniert...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
KingV1k
Beiträge: 76
Registriert: 16. Oktober 2006 10:24

Beitrag von KingV1k »

ich benutze auch Qt 4.2.1.

kannst du vielleicht mal sagen, wie dein befehl lautet mit dem du die makefile und pro-file erstellst?
Antworten