Visual Studio 6 und QT

Alles rund um die Programmierung mit Qt
Antworten
KarlBlau
Beiträge: 41
Registriert: 25. März 2005 14:31
Wohnort: Karlsruhe
Kontaktdaten:

Visual Studio 6 und QT

Beitrag von KarlBlau »

Hi,

ich verwende Visual Studio 6 (SP6) und wollte nun in die QT Programmierung einsteigen. Beim ausführen des ersten Testprogrammes scheitere ich bereits:

Ich habe folgende Datei von QT heruntergeladen und installiert: setup-qt-win-msvc-3.1.0-b1.exe
Ich habe die Links in den Visual Studio Settings vorgenommen (hoffentlich alle und richtig)

Der Linker spuckt folgenden Fehler aus:

--------------------Konfiguration: hello - Win32 Debug--------------------
Linker-Vorgang läuft...
hello.obj : error LNK2001: Nichtaufgeloestes externes Symbol "public: virtual __thiscall QApplication::~QApplication(void)" (??1QApplication@@UAE@XZ)
hello.obj : error LNK2001: Nichtaufgeloestes externes Symbol "public: int __thiscall QApplication::exec(void)" (?exec@QApplication@@QAEHXZ)
hello.obj : error LNK2001: Nichtaufgeloestes externes Symbol "public: virtual void __thiscall QApplication::setMainWidget(class QWidget *)" (?setMainWidget@QApplication@@UAEXPAVQWidget@@@Z)
hello.obj : error LNK2001: Nichtaufgeloestes externes Symbol "public: __thiscall QLabel::QLabel(class QString const &,class QWidget *,char const *,unsigned int)" (??0QLabel@@QAE@ABVQString@@PAVQWidget@@PBDI@Z)
hello.obj : error LNK2001: Nichtaufgeloestes externes Symbol "public: __thiscall QString::QString(char const *)" (??0QString@@QAE@PBD@Z)
hello.obj : error LNK2001: Nichtaufgeloestes externes Symbol "public: __thiscall QApplication::QApplication(int &,char * *)" (??0QApplication@@QAE@AAHPAPAD@Z)
hello.obj : error LNK2001: Nichtaufgeloestes externes Symbol "public: void __thiscall QStringData::deleteSelf(void)" (?deleteSelf@QStringData@@QAEXXZ)
hello.obj : error LNK2001: Nichtaufgeloestes externes Symbol "private: static struct QStringData * QString::shared_null" (?shared_null@QString@@0PAUQStringData@@A)
Debug/hello.exe : fatal error LNK1120: 8 unaufgeloeste externe Verweise
Fehler beim Ausführen von link.exe.

hello.exe - 9 Fehler, 0 Warnung(en)


Was habe ich falsch (bzw. noch nicht) gemacht?

Gruss,

Karl
ArneStocker
Beiträge: 300
Registriert: 3. November 2004 16:15
Wohnort: Berlin

Beitrag von ArneStocker »

Hi Karl

hast Du die Bibliotheken (z.B. qtnc321.lib oder so ähnlich) zu Deinem Projekt gelinkt ??

Gruss Arne
KarlBlau
Beiträge: 41
Registriert: 25. März 2005 14:31
Wohnort: Karlsruhe
Kontaktdaten:

andere Version

Beitrag von KarlBlau »

Servus,
ich habe eine andere Version der QT-Lib installiert. Jetzt geht es. Keine Ahnung woran es gelegen hat.
Naja...vielen Dank für die Hilfe.
Karl
KarlBlau
Beiträge: 41
Registriert: 25. März 2005 14:31
Wohnort: Karlsruhe
Kontaktdaten:

Installation VS6 und QT

Beitrag von KarlBlau »

Hallo,

ich werd noch verrückt...
Egal was ich mache, immer tausend Fehlermeldungen und Warnungen. Ich hab den Verdacht, dass da irgendwas nicht richtig eingerichtet ist. Ich werd nun alles nochmal runterwerfen und nochmal neu installieren.

Könnt Ihr mir bitte helfen das Visual Studio mit einer QT-Version zum Laufen zu bringen? Ich verwende WindowsXP, Visual Studio 6 (mit aktuellem SP).

Welche Version des QT ist am besten geeignet? (Bitte einen Link angeben; ich habe schon zig Versionen gefunden)
Und was genau muss ich danach noch machen, dass sich die beiden vertragen?

Vielen Dank,
Karl
dilorenzo
Beiträge: 39
Registriert: 14. Februar 2005 13:23
Wohnort: Schwerte

Beitrag von dilorenzo »

Hallo,

findest Du denn die VC Oberfläche so toll?

Ich finde es angenehmer meine CPP-Dateien mit einem richtigen Editor zu schreiben und dann in dem Verzeichnis diese Befehle im cmd.exe auszuführen:

qmake -project
qmake test1.pro
nmake

Gruß,
Dominik
Goos
Beiträge: 360
Registriert: 17. August 2004 10:10
Wohnort: Black Forest

Re: Installation VS6 und QT

Beitrag von Goos »

KarlBlau hat geschrieben:Welche Version des QT ist am besten geeignet? (Bitte einen Link angeben; ich habe schon zig Versionen gefunden)
Und was genau muss ich danach noch machen, dass sich die beiden vertragen?

Vielen Dank,
Karl
Hoi Karl,

es ist ansich absolut egal, welche QT Version du mit deinem VC benutzt.
Es kommt einzig und allein darauf an, welche Einstellungen du sonst noch so machst.
Also zaehl doch bitte mal auf, was du gegenueber der Einstellungen eines Standardprojekts geaendert hast.

Goos
Notwist
Beiträge: 85
Registriert: 2. März 2005 14:24

Beitrag von Notwist »

Die Pfade müssen natürlich in XP auch alle stimmen und die Bibliotheken musst Du LINKEN. VS hat für die Pfade ne BAT-Datei, die das in XP einrichtet oder Du sagst ihm das bei der Installation.

Die LINKER-Zeile sieht bei mir zB so aus (Qt-Pfad abändern):

kernel32.lib user32.lib gdi32.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib imm32.lib wsock32.lib winspool.lib winmm.lib F:\Qt\3.3.3\lib\qt-mt333.lib F:\Qt\3.3.3\lib\qtmain.lib

Dann hatte ich am Anfang das Problem, dass unter Projekt-Settings unter dem Reiter C/C++, Category: Code Generation - Use Run Time Library auf: Debug MultiThreaded DLL stellen.

Versuchs mal.

P.S.: VS hat nach der QT-Installation ne nette Zusatzleiste, in der man eine QT-Projekt für Designer einrichten kann und der Dir dann die entsprechenden Klassen bereits ableitet und die MOC-Dateien kreiert.
ChMaster
Beiträge: 252
Registriert: 23. Februar 2005 14:44
Wohnort: RP -> Alzey
Kontaktdaten:

Beitrag von ChMaster »

Notwist hat geschrieben: P.S.: VS hat nach der QT-Installation ne nette Zusatzleiste, in der man eine QT-Projekt für Designer einrichten kann und der Dir dann die entsprechenden Klassen bereits ableitet und die MOC-Dateien kreiert.
jab aber nur in der comercial/non comercial version, in der freeediton ist dies
nicht dabei, ist nur ein hinweis ;)

(wenn ich mich täusch sag bescheid)
ChMaster
------------ Projekte------------
DBoxFE
DMS
First4 (Plugin-Develper)
KarlBlau
Beiträge: 41
Registriert: 25. März 2005 14:31
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von KarlBlau »

Hallo,

vielen Dank für Eure Antworten. Ich konnte leider erst jetzt wieder ins Forum. Ich habe verschiedene Sachen zum Thema versucht und hätte auch noch zwei Fragen:

@Notwist:
>Die Pfade müssen natürlich in XP auch alle stimmen
Welche Pfade? Die Pfade von QT? Wenn ich unter der Eingabeaufforderung 'path' eingebe, sehe ich unter anderem das bin-Verzeichnis von QT. Genügt das? Was muss da noch aufgezählt sein?

meine Linker-Zeile sieht so aus:
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
Diese erweitere ich händisch um die beiden Einträge qtmain.lib und qt-mtnc321.lib
Was muss ich einstellen, damit das VS diese beiden Einträge automatisch bei neuen Projekten hinzufügt?

Gruss,
Karl
Notwist
Beiträge: 85
Registriert: 2. März 2005 14:24

Beitrag von Notwist »

Im Pfad hab ich auch nur das BIN drin. Habe noch eine Umgebungsvariable QTDIR, in der der QT-Pfad steht.

Ja, kannst Du per Hand machen mit der LIB. Ich muss das auch nur abändern, wenn ich ein Projekt nicht mit dieser Zusatzleiste erstellt habe und dann geht das. Eventuell war halt noch dieser andere Eintrag, von dem ich gesprochen habe, falsch eingestellt, was das Kompilieren verhinderte.
Antworten