Seite 1 von 1

Cannot open includefile .....

Verfasst: 10. August 2006 15:23
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

Verfasst: 10. August 2006 18:49
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

anleitung bereits schritt für schritt befolgt...

Verfasst: 10. August 2006 22:15
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

schon wieder falsch....

Verfasst: 10. August 2006 22:18
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

Verfasst: 11. August 2006 13:28
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.

zweiter versuch gescheitert .... :/

Verfasst: 11. August 2006 18:52
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

Verfasst: 11. August 2006 20:30
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.