Cannot open includefile .....

Verschiedenes zu Qt
Antworten
jolly jumper
Beiträge: 4
Registriert: 10. August 2006 15:15

Cannot open includefile .....

Beitrag von jolly jumper »

Hallo allerseits,

Ich versuche heute das 1. mal mit Qt zu arbeiten und habe folgende Schritte bereits gemacht:

1. qt 4.1.4 heruntergeladen
2. patch heruntergeladen für visual studio .net 2003
3. qconfigure msvc..... erfolgreich ausgeführt
3. umgebungsvariablen LIB und INCLUDE auf ....\qt 4.1.4\lib und ....\qt 4.1.4\include gesetzt

und will nun folgenden code zum Laufen bringen:

#include "stdafx.h"
#include <Qt/qapplication.h>
#include <Qt/qdesktopwidget.h>
#include <Qt/qpixmap.h>


int _tmain(int argc, _TCHAR* argv[])
{

QApplication a(argc,argv);
QDesktopWidget* desktop = QApplication::desktop();
QWidget* w = desktop->screen(0);
QPixmap snapshot = QPixmap::grabWindow(w->winId(), 0, 0, -1, -1);
snapshot.save("screenshot.png", "PNG", 20);
return 0;

}


leider findet er die header dateien nicht!!!

Bitte um Hilfe,

Lg Peter
uhu01
Beiträge: 150
Registriert: 10. Juli 2005 20:46

Beitrag von uhu01 »

Hy!

Erst mal hallo im Forum!

Dann Nummer zwei: Dein Beitrag ist im Falschen Forum gelandet, hätte besser in die "Einfach Qt" Sektion gepasst.

Jetzt du deinem Problem: Du musst qt noch compilieren bevor du es verwenden kannst. Das ganze haben wir im Forum schon ein paar mal besprochen, einfach mal suchen. Wir hatten sogar mal ne Anleitung als PDF die einer der Forumsmember gemacht hatte, wirst du sicher finden.

mfg
uhu01
jolly jumper
Beiträge: 4
Registriert: 10. August 2006 15:15

anleitung bereits schritt für schritt befolgt...

Beitrag von jolly jumper »

Hallo!!

Ich habe die Anleitung bereits bevor ich einen Post gemacht habe befolgt, die Verzeichnisse eingehalten und jeden Schritt genau befolgt, deshalb verstehe ich nicht, warum die Dateien:


#include "conio.h"

#include <qapplication.h>
#include <qdesktopwidget.h>
#include <qpixmap.h>

int _tmain(int argc, _TCHAR* argv[])
{
QApplication a(argc,argv);
QDesktopWidget* desktop = QApplication::desktop();
QWidget* w = desktop->screen(0);
QPixmap snapshot = QPixmap::grabWindow(w->winId(), 0, 0, -1, -1);
snapshot.save("screenshot.png", "PNG", 20);
c = getch();
return 0;
}

nicht gefunden werden!!!

irgendwelche ideen?

lg peter
jolly jumper
Beiträge: 4
Registriert: 10. August 2006 15:15

schon wieder falsch....

Beitrag von jolly jumper »

tut mir leid, dass ich mich schon wieder korrigieren muss... hab ein bisschen rumprobiert und dabei dei includes verändert.... das ist der ursprüngliche code:


#include "conio.h"

#include <Qt/qapplication.h>
#include <Qt/qdesktopwidget.h>
#include <Qt/qpixmap.h>

int _tmain(int argc, _TCHAR* argv[])
{
QApplication a(argc,argv);
QDesktopWidget* desktop = QApplication::desktop();
QWidget* w = desktop->screen(0);
QPixmap snapshot = QPixmap::grabWindow(w->winId(), 0, 0, -1, -1);
snapshot.save("screenshot.png", "PNG", 20);
c = getch();
return 0;
}

lg peter
Volker
Beiträge: 343
Registriert: 30. Juni 2005 05:27

Beitrag von Volker »

Ich weiss ja nicht um welches PDF es sich handelt, ich nehm mal an das von mir.
Wenn Du mit Visual Studio und dessen Projektdateien arbeitest, überprüf doch mal, ob unter Extras->Optionen->Projekte->Include Verzeichnisse das Include Verzeichnis eingetragen ist. Die Umgebungsvariable INCLUDE und LIB bezieht sich nur auf die Visual Studio Kommandozeile.

Andere Möglichkeit, trage $(QTDIR)/include unter den Projekteinstellungen C++ -> Allgemein als weitere Include Verzeichnisse ein.
Dateianhänge
include.png
include.png (18.12 KiB) 7884 mal betrachtet
Bitte seid so nett und ändert den Titel von Beiträgen die gelöst wurden, auf [gelöst] Beitragstitel
jolly jumper
Beiträge: 4
Registriert: 10. August 2006 15:15

zweiter versuch gescheitert .... :/

Beitrag von jolly jumper »

Hallo Volker,
ja es hadelt sich um dein Skriptum. Ich habe jetzt unter Tools -> Options -> Projects -> VC++ Directories (rechts oben einmal "Include files" und "Library files") eine neue Zeile hinzugefügt und $(QTDIR)\include bzw. $(QTDIR)\lib eingegeben!

Jetzt findet er die Dateien, hat aber anscheinend ein Problem, die Libraries zu laden! Fehler:

error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual__thiscall QApplication::~QApplication....."

Ist das ein Fehler im Code?


#include "conio.h"

#include <Qt/qapplication.h>
#include <Qt/qdesktopwidget.h>
#include <Qt/qpixmap.h>

int _tmain(int argc, char* argv[])
{
char c;
QApplication a(argc,argv);
QDesktopWidget* desktop = QApplication::desktop();
QWidget* w = desktop->screen(0);
QPixmap snapshot = QPixmap::grabWindow(w->winId(), 0, 0, -1, -1);
snapshot.save("screenshot.png", "PNG", 20);
c = getch();
return 0;
}


Mit freundlichen Grüßen Peter
Volker
Beiträge: 343
Registriert: 30. Juni 2005 05:27

Beitrag von Volker »

Grundsätzlich sind Linkerfehler in der Regel darauf zurück zuführen, dass entweder eine Library nicht hinzugelinkt wurde (QtCore4.lib, QtGui4.lib bzw. die Debug Versionen?) oder eine Funktion zwar deklariert aber nirgendswo implementiert ist. Ich tippe in deinem Fall auf ersteres.

Ob das was Du mit deinem Code vorhast überhaupt funktioniert würde mich allerdings interessieren,... wenn's klappt, würd mich eine kurze Rückmeldung hier freuen.

Noch was: Ich hab noch nie mit managed C++ was gemacht, ich nehme an, daher kommt die Einsprungsfunktion _tmain, aber inwieweit sich das mit QT verträgt hab ich keine Ahnung,... vielleicht steht dazu schon was im Forum, hab noch nicht gesucht.
Bitte seid so nett und ändert den Titel von Beiträgen die gelöst wurden, auf [gelöst] Beitragstitel
Antworten