Visual Studio 6 und QT
Visual Studio 6 und QT
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
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
andere Version
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
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
Installation VS6 und QT
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
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
Re: Installation VS6 und QT
Hoi Karl,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
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
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.
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.
jab aber nur in der comercial/non comercial version, in der freeediton ist diesNotwist 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.
nicht dabei, ist nur ein hinweis
(wenn ich mich täusch sag bescheid)
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
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
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.
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.