Visual C++ und QT
-
hi,
ich habe Qt ganz einfach mit dem mitgelieferten Setup-Programm installiert.
Bei mir hat es sich auch ins VC eingeschlichen.
Ich habe schon einige Programme mit der selben Linkereinstellung mit Qt geschrieben und
die funktionieren einwandfrei. Nur das aktuelle nicht. Ich habe nie zuvor QTranslator
benutzt und vermute, dass ich in dessen Benutzung irgendetwas falsch mache, oder irgendetwas
beim Linker verändert werden muss.Tschau Gartenzwerg
-
http://www.opencascade.com/community/forum/thread_2727/
hier ist ein qt translator, der funzen soll.. versuch den mal mit den beschriebenen einstellungen
ich versuchs ev. nachher auch mal.
-
schau mal hier rein www.c-plusplus.net/forum/viewtopic?t=49183
-
sorry...
-
hi,
@smo: beide Links bringen mich auf eine 404 Fehler-Seite
@elise: für den gezeigten Quellcode fehlen mir noch einige Dateien zum kompilieren.
Die Projekteinstellungen habe ich übernommen und trotz der dort gezeigten
gezeigten Ergänzungen läuft der Linker nicht durch (ohne auch nicht). Aber aufgrund
der Änderung der Projekteinstellung sind es nur noch 13 Fehler:--------------------Konfiguration: Dienstplaner - Win32 Release-------------------- Kompilierung läuft... arbeitsfenster.cpp hauptfenster.cpp main.cpp moc_arbeitsfenster.cpp moc_hauptfenster.cpp Generieren von Code... Linker-Vorgang läuft... moc_arbeitsfenster.obj : error LNK2005: "public: virtual char const * __thiscall Arbeitsfenster::className(void)const " (?className@Arbeitsfenster@@UBEPBDXZ) bereits in arbeitsfenster.obj definiert moc_arbeitsfenster.obj : error LNK2005: "protected: virtual void __thiscall Arbeitsfenster::initMetaObject(void)" (?initMetaObject@Arbeitsfenster@@MAEXXZ) bereits in arbeitsfenster.obj definiert moc_arbeitsfenster.obj : error LNK2005: "public: static class QString __cdecl Arbeitsfenster::tr(char const *)" (?tr@Arbeitsfenster@@SA?AVQString@@PBD@Z) bereits in arbeitsfenster.obj definiert moc_arbeitsfenster.obj : error LNK2005: "public: static class QMetaObject * __cdecl Arbeitsfenster::staticMetaObject(void)" (?staticMetaObject@Arbeitsfenster@@SAPAVQMetaObject@@XZ) bereits in arbeitsfenster.obj definiert moc_arbeitsfenster.obj : error LNK2005: "private: static class QMetaObject * Arbeitsfenster::metaObj" (?metaObj@Arbeitsfenster@@0PAVQMetaObject@@A) bereits in arbeitsfenster.obj definiert moc_hauptfenster.obj : error LNK2005: "public: virtual char const * __thiscall Hauptfenster::className(void)const " (?className@Hauptfenster@@UBEPBDXZ) bereits in hauptfenster.obj definiert moc_hauptfenster.obj : error LNK2005: "protected: virtual void __thiscall Hauptfenster::initMetaObject(void)" (?initMetaObject@Hauptfenster@@MAEXXZ) bereits in hauptfenster.obj definiert moc_hauptfenster.obj : error LNK2005: "public: static class QString __cdecl Hauptfenster::tr(char const *)" (?tr@Hauptfenster@@SA?AVQString@@PBD@Z) bereits in hauptfenster.obj definiert moc_hauptfenster.obj : error LNK2005: "public: static class QMetaObject * __cdecl Hauptfenster::staticMetaObject(void)" (?staticMetaObject@Hauptfenster@@SAPAVQMetaObject@@XZ) bereits in hauptfenster.obj definiert moc_hauptfenster.obj : error LNK2005: "private: static class QMetaObject * Hauptfenster::metaObj" (?metaObj@Hauptfenster@@0PAVQMetaObject@@A) bereits in hauptfenster.obj definiert arbeitsfenster.obj : error LNK2001: Nichtaufgeloestes externes Symbol "public: static class QString __cdecl Arbeitsfenster::tr(char const *,char const *)" (?tr@Arbeitsfenster@@SA?AVQString@@PBD0@Z) hauptfenster.obj : error LNK2001: Nichtaufgeloestes externes Symbol "public: static class QString __cdecl Hauptfenster::tr(char const *,char const *)" (?tr@Hauptfenster@@SA?AVQString@@PBD0@Z) Release/Dienstplaner.exe : fatal error LNK1120: 2 unaufgeloeste externe Verweise Fehler beim Ausführen von link.exe. Dienstplaner.exe - 13 Fehler, 0 Warnung(en)Hoffe du kannst mir helfen!
Tschau Gartenzwerg
-
Habe vergessen noch http:// hinzuschreiben.
-
Schau mal im Linux/Unix Forum unter Qt Linux-Windows nach...
-
hi,
auch damit komm ich nicht weiter.
Ich erhalte immer den Fehler, dass er die Headerdatei "string.h" nicht findet.E:\Eigene Dateien\Dienstplaner>nmake Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.8168.0 Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten. cl -c -nologo -W3 -O1 -DNO_DEBUG -I"D:\qt\include" -Foarbeitsfenster.obj arbeitsfenster.cpp arbeitsfenster.cpp D:\qt\include\qcstring.h(50) : fatal error C1083: Include-Datei kann nicht geoef fnet werden: 'string.h': No such file or directory NMAKE : fatal error U1077: 'D:\PROGRA~1\MICROS~1\VC98\BIN\cl.exe' : Rueckgabe-Co de '0x2' Stop.Was mach ich falsch, wieso findet er die "string.h" nicht?
Tschau Gartenzwerg
PS: auch wenn ich string.h durch den kompletten Pfad bzw. durch string ersetze, kommt der selbe Fehler.
-
In QT nennt sich die Stringklasse qstring und der header qstring.h
-
hi,
@unix-tom: das weiß ich ich habe eigentlich auch diese Klasse und diese Header genutzt.
Tschau Gartenzwerg
-
Du gibst nur nmake an und der Compiler gibt Dir die Fehlermeldung raus, habe ich Dich so richtig verstanden.
-
include\qcstring.h
das hast du aber was anderes includet
-
hi,
@ smo: richtig
@ Unix-Tom: vielleicht reden wir aneinander vorbei. Ich habe in meinem Quelltext "#include <qstring.h>" zu stehen selbst wenn ich es durch "#include <qcstring.h>" ersetze, erscheint exakt der selbe Fehler.Tschau Gartenzwerg
-
Wenn es mit dem Makefile nicht klappt, gibt es noch eine Möglichkeit über die Konsole.
Wenn Du qt in C:\qt installiert hast, probier mal das hier:
cl -c -nologo -W3 -O1 -DNO_DEBUG -I"C:\qt\include" -Fo prog.obj prog.cpp link /NOLOGO /SUBSYSTEM:windows /OUT:myprog.exe myprog.obj C:\qt.lib user32.lib gdi32.lib comdlg32.lib imm32.lib ole32.lib uuid.lib wsocks32.libZurück zu den Makefiles:
Anscheinend hast Du es ja hinbekommen mit tmake einen Makefile zu generieren. Wie sieht denn Deine .pro-Datei aus? Kannst Du mal rein posten ?
-
sorry...
Die Zeile mit dem Link muss so lauten:
link /NOLOGO /SUBSYSTEM:windows /OUT:myprog.exe myprog.obj C:\qt*lib*\qt.lib user32.lib gdi32.lib comdlg32.lib imm32.lib ole32.lib uuid.lib wsock32.lib
-
könnte es sein, daß dein beispiel von der commandozeile gestartet
dann müssen die umgebungsvariablen vcvars32.bat noch dazu...
siehe mal hier..http://lists.trolltech.com/qt-interest/2002-01/thread00859-0.html
nur weil die fehlermeldung die gleiche ist.. und sie nicht nach einem linkerfehler aussieht, sondern eher nach einem include pfad problem..
ps: könnte man ja mal checken, die vcvars32.bat mit in die autoexec.bat aufzunehmen, rechner starten und dann schaun wa mal..
-
hi,
@ elise & smo: nach vcvars32.bat + nmake oder über die Eingabe in die Konsole, erhalte ich die selben 13 Fehler wie einige Posts weiter oben.
@ smo: meine *.pro-Datei:
TEMPLATE = app CONFIG = qt warn_on release HEADERS = arbeitsfenster.h \ confreader.h \ dienst.h \ hauptfenster.h \ xmlparser.h SOURCES = arbeitsfenster.cpp \ dienst.cpp \ hauptfenster.cpp \ main.cpp INTERFACES = TARGET = DienstplanerTschau Gartenzwerg
-
hmm... scheint in Ordnung zu sein, nur die Zeile mit INTERFACES ist Quatsch. Lösch die Zeile mal und guck, ob Du weniger Fehlermeldung hast.
-
hm ..
wenn er, wie du oben sagst, die banale string.h nicht findet, klingt es für mich wie ein umgebungspfadproblem.
die vcvars.bat muss in der konsole gestartet sein und gilt auch nur, solange diese offen ist. wenn sie bleibend da sein soll, über die autoexec, und rechner neu starten..hast du aber sicher ausprobiert..
leider habe ich keine idee, welchen code du da probierst, ... aber ich denke, die pfade stehen nicht auf den vc98 include ordner...
wie kann man dir noch helfen? den code testen?
-
hi,
habe ich alles ausprobiert und erhalte ja jetzt nicht mehr den Fehler mit string.h, sondern die selben
13 Fehler wie unter der IDE VC++.wenn einer von euch den Code testen würde, wäre das echt nett.
Ich bin noch nicht besonders weit und kommentiert ist er auch nicht sehr gut.
Wäre aber über Verbesserungsvorschläge und über Fehlerbehebungen dankbar (hoffentlich habe ich nur
einen Fehler im Code, sonst muss ich auf QTranslator verzichten)Der Code zum Download:
http://www.gikrasoft.de.vu/downloads/code.zipBei Fragen, bitte posten bzw. mailen unter gikrasoft@home.pages.at
Tschau Gartenzwerg