Seite 1 von 1

Anfänger Probelem mit include-Datei

Verfasst: 19. Dezember 2006 16:25
von JOJBer
ich habe folgenden Quellcode einfach kopiert und als cpp-Datei gespeichert:

Code: Alles auswählen

#include <QApplication>
#include <QPushButton>

int main(int argc, char *argv[])
{
	QApplication app(argc, argv);

	QPushButton hello("Hello world!");
	hello.resize(100, 30);

	hello.show();
	return app.exec();
} 
wenn ich das ganze über cmd mit qmake -project, qmake und nmake bearbeitet habe, versuche ich es im VS zu compilieren. Hierbei erhalte ich die Meldung:
"fatal error C1083: Cannot open include file: 'QApplication': No such file or directory"

Was mache ich falsch?

Danke schon mal

Verfasst: 19. Dezember 2006 17:30
von Dawn
Du musst das include verzeichnis zu den include verzeichnissen deines compilers hinzufügen, damit diser weiß wo er nach der datei suchen muss

Verfasst: 19. Dezember 2006 18:26
von JOJBer
Danke erst mal
ich benutze VisualStudio 6, kann aber keine Einstellung finden, ich habe in der Umgebungsvariablen "include" den QT-Pfad hinzugefügt.

Edit:
habe doch eine Einstellung gefunden.
unter Build->Options lassen sich Directories angeben, hier habe ich c.\...QT-Path...\include eingetragen.
Bringt leider immer noch die selbe Meldung???

Hilfe es eilt ich muss bis Freitag fertig sein :-(

Was muss ich noch machen???

Verfasst: 19. Dezember 2006 18:36
von Christian81
Du musst schon das richtige Verzeichnis angeben... schau nach wo QApplication liegt.

Verfasst: 19. Dezember 2006 18:38
von JOJBer
Bin jetzt bis zum Linker gekommen, der zeigt mir jetzt 10 Fehler
alle vom Typ: "error LNK2001: unresolved external symbol"

für ein erstes Beispielprogramm finde ich es recht kompliziert...

Verfasst: 19. Dezember 2006 18:40
von Christian81
JOJBer hat geschrieben:Muss ich einfach jedes Verzeichnis per Hand anlegen oder gibt es eine elegantere Lösung?
Na rat mal wofür qmake da ist... aber das (gepachte) qmake kann keine vs6 - Projekte mehr anlegen da VS6 zu alt ist. Also bleibt Dir wohl nichts anderes übrig. So viele sind es ja nicht. Und vergiss Release nicht. Am besten gleich beide Konfigs auf einmal bearbeiten. Geht ja bestimmt auch schon in VS6.

Verfasst: 19. Dezember 2006 18:43
von JOJBer
und warum habe ich dann extra eine Qt-Version für VS 6 installiert???

ich habe keine Ahnung was ich machen soll, wäre cool wenn es etwas genauer geht und schon mal Danke für die Mühe

Verfasst: 19. Dezember 2006 18:51
von Christian81
Du hast also eine kommerzielle Version? Dann sollte man sich auch mit qmake auskennen
-> http://doc.trolltech.com/4.2/qmake-manual.html
vor allem die Option '-tp vc'

Verfasst: 19. Dezember 2006 18:55
von JOJBer
ja sollte man aber ich habe keine Ahnung die Version ist nur von der Uni und ich soll halt damit arbeiten, nur das mir keiner gesagt hat wie....

ich bin kurz vorm durchdrehen ich brauche einfach nur eine Plattform mit der ich arbeiten kann....

Danke noch mal

Verfasst: 19. Dezember 2006 18:55
von Volker
Irgendwo bei den Linker Einstellungen in den Projekteigenschaften sollte es eine Möglichkeit geben Abhängigkeiten einzutragen. Da müssen die entsprechenden "Lib" Dateien die du verwendest eingetragen werden (in der Regel auf jeden Fall QtGui4.lib und QtCore4.lib bzw. deren Debug Versionen QtGuid4.lib und QtCored4.lib. Außerdem musst Du vermutlich dann auch noch entweder die LIB Umgebungsvariable um das LIB Verzeichnis von QT erweitern oder in den Projekteigenschaften den Pfad angeben.

Alternativ installiere die kostenlose Visual C++ Express Edition, das Platform SDK und übersetz QT nochmal für VS2005. Dafür gibts hier im Forum sehr viel mehr Support und Tutorials.

Verfasst: 19. Dezember 2006 19:07
von JOJBer
also die Umgebungsvariable war schon gesetzt. Das Verzeichnis mit den beiden Dateien habe ich unter "Library Files" eingetragen, ändert aber leider nichts.

Ich werde mal die andere Variante versuchen und die von dir genannten Programme installieren, allerdings erst Zuhause.

Danke noch mal hoffe es klappt nachher besser

Verfasst: 20. Dezember 2006 07:49
von Christian81
Dass Du auf einmal ein weiteres Problem hattest, habe ich nicht gesehen. Volker hat Dir aber schon gesagt was Du machen musst...

Verfasst: 23. Dezember 2006 15:10
von JOJBer
Erst einmal Danke für alle Beiträge.

So ich habe jetzt noch mal von vorne Angefangen, habe auf meinem Rechner Zuhause Visual Studio 2005 installiert und die Freeware von Qt für Windows.
Es gibt je eine Systemvariable für INCLUDE und LIB die jeweils auf das entsprechende Qt-Verzeichnis zeigen.

Ich habe eine cpp-Datei mit folgendem Inhalt abgespeichert und mit qmake -project und qmake bearbeitet

Code: Alles auswählen

#include <aqpplication>
#include <qlabel>

int main(int argc, char *argv[]){
	QApplication app(argv, argv);
	QLabel *label = new QLabel("Hello Qt!");
	label->show();
	return app.exec();
}
Stimmen die Einstellungen erste einmal soweit?
Was muss ich als nächstes tun?

Danke noch mal

Verfasst: 23. Dezember 2006 15:44
von Christian81
INCLUDE und LIB haben mit Qt nichts zu tun - sie sind nur für das Microsoft Platform SDK relevant.
Wenn Du qmake ausgeführt hast, kannst du jetzt mit 'nmake' dein Programm kompilieren. 'qmake -tp vc' erzeut dir ein .vcproj für die VS IDE.