Qt3 -> Qt4 ... Linkerprobleme unter VS2005

Alles rund um die Programmierung mit Qt
Antworten
s.baumgartner
Beiträge: 3
Registriert: 31. März 2009 13:07

Qt3 -> Qt4 ... Linkerprobleme unter VS2005

Beitrag von s.baumgartner »

Hallo zusammen! Ich bin gerade dabei eine Applikation bei uns in der Firma von Qt3 auf Qt4 zu portieren. Ich verwende dabei Visual Studio 2005, hab die richtigen, statischen Bibliotheken übersetzt und linke auch darauf. Allerdings kommen immer noch ein paar Linker-Fehler, die ich so nicht beseitigen kann:

Code: Alles auswählen

Error	832	error LNK2019: unresolved external symbol "__declspec(dllimport) public: static class QString __cdecl Q3FileDialog::getSaveFileName(class QString const &,class QString const &,class QWidget *,char const *,class QString const &,class QString *,bool)" (__imp_?getSaveFileName@Q3FileDialog@@SA?AVQString@@ABV2@0PAVQWidget@@PBD0PAV2@_N@Z) referenced in function "protected: void __thiscall MainWindowImplementation::slotCreateAviClicked(void)" (?slotCreateAviClicked@MainWindowImplementation@@IAEXXZ)	MainWindowImplementation.obj
Error	833	error LNK2019: unresolved external symbol "__declspec(dllimport) public: static class QString __cdecl Q3FileDialog::getOpenFileName(class QString const &,class QString const &,class QWidget *,char const *,class QString const &,class QString *,bool)" (__imp_?getOpenFileName@Q3FileDialog@@SA?AVQString@@ABV2@0PAVQWidget@@PBD0PAV2@_N@Z) referenced in function "protected: void __thiscall MainWindowImplementation::slotLoadAviClicked(void)" (?slotLoadAviClicked@MainWindowImplementation@@IAEXXZ)	MainWindowImplementation.obj
Error	834	error LNK2019: unresolved external symbol "__declspec(dllimport) public: static class QStringList __cdecl Q3FileDialog::getOpenFileNames(class QString const &,class QString const &,class QWidget *,char const *,class QString const &,class QString *,bool)" (__imp_?getOpenFileNames@Q3FileDialog@@SA?AVQStringList@@ABVQString@@0PAVQWidget@@PBD0PAV3@_N@Z) referenced in function "protected: void __thiscall MainWindowImplementation::slotLoadSensorsClicked(void)" (?slotLoadSensorsClicked@MainWindowImplementation@@IAEXXZ)	MainWindowImplementation.obj
Error	835	error LNK2019: unresolved external symbol "__declspec(dllimport) public: static class QString __cdecl QFileDialog::getExistingDirectory(class QWidget *,class QString const &,class QString const &,class QFlags<enum QFileDialog::Option>)" (__imp_?getExistingDirectory@QFileDialog@@SA?AVQString@@PAVQWidget@@ABV2@1V?$QFlags@W4Option@QFileDialog@@@@@Z) referenced in function "protected: void __thiscall MainWindowImplementation::slotSaveConfigurationClicked(void)" (?slotSaveConfigurationClicked@MainWindowImplementation@@IAEXXZ)	MainWindowImplementation.obj
Error	836	error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall QComboBox::insertItem(class QString const &,int)" (__imp_?insertItem@QComboBox@@QAEXABVQString@@H@Z) referenced in function "public: __thiscall MainWindowImplementation::MainWindowImplementation(class QWidget *,char const *,class QFlags<enum Qt::WindowType>)" (??0MainWindowImplementation@@QAE@PAVQWidget@@PBDV?$QFlags@W4WindowType@Qt@@@@@Z)	MainWindowImplementation.obj
Error	837	error LNK2019: unresolved external symbol "__declspec(dllimport) public: bool __thiscall QMenu::isItemChecked(int)const " (__imp_?isItemChecked@QMenu@@QBE_NH@Z) referenced in function "protected: void __thiscall MainWindowImplementation::removeCameraFromList(int)" (?removeCameraFromList@MainWindowImplementation@@IAEXH@Z)	MainWindowImplementation.obj
Error	838	error LNK2019: unresolved external symbol "__declspec(dllimport) public: unsigned int __thiscall QMenu::count(void)const " (__imp_?count@QMenu@@QBEIXZ) referenced in function "protected: void __thiscall MainWindowImplementation::removeCameraFromList(int)" (?removeCameraFromList@MainWindowImplementation@@IAEXH@Z)	MainWindowImplementation.obj
Error	839	error LNK2019: unresolved external symbol "__declspec(dllimport) public: static class QString __cdecl QInputDialog::getText(class QString const &,class QString const &,enum QLineEdit::EchoMode,class QString const &,bool *,class QWidget *,char const *,class QFlags<enum Qt::WindowType>)" (__imp_?getText@QInputDialog@@SA?AVQString@@ABV2@0W4EchoMode@QLineEdit@@0PA_NPAVQWidget@@PBDV?$QFlags@W4WindowType@Qt@@@@@Z) referenced in function "protected: void __thiscall MainWindowImplementation::slotCameraManagerChecked(void)" (?slotCameraManagerChecked@MainWindowImplementation@@IAEXXZ)	MainWindowImplementation.obj
Error	840	error LNK2019: unresolved external symbol "__declspec(dllimport) public: class QVariant __thiscall Q3Signal::value(void)const " (__imp_?value@Q3Signal@@QBE?AVQVariant@@XZ) referenced in function "protected: void __thiscall MainWindowImplementation::slotCameraManagerChecked(void)" (?slotCameraManagerChecked@MainWindowImplementation@@IAEXXZ)	MainWindowImplementation.obj
Error	842	fatal error LNK1120: 10 unresolved externals	C:\workspace\VBLSSetQt4\Release\MultisensInterface.exe
Error	841	error LNK2019: unresolved external symbol "__declspec(dllimport) public: int __thiscall QToolBox::addItem(class QWidget *,class QString const &)" (__imp_?addItem@QToolBox@@QAEHPAVQWidget@@ABVQString@@@Z) referenced in function "public: void __thiscall Ui_QtConnectSensors::setupUi(class QDialog *)" (?setupUi@Ui_QtConnectSensors@@QAEXPAVQDialog@@@Z)	QtConnectSensors.obj
Problematisch deshalb, weil die Schnittstelle der Q3FileDialog-Klasse so da sein müsste. Wenn ich den "neuen" FileDialog verwende, gibt's die gleichen Probleme.

Auch etwas schräg ist der letzte Fehler. Die QtConnectSensors ist ein Qt3 UI-File, welches ich mit uic3 generiert hab. Wenn ich hier das ganze auf Qt4 portiere und das gewöhnliche uic verwende, gibt's den gleichen Fehler.

Wär schön, wenn ihr mir helfen könntet... bin im Moment ein wenig ratlos.

EDIT: Achja... Qt 4.5
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Die ganzen Funktionen sind in der qt3support lib. Also diese hinzulinken.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
s.baumgartner
Beiträge: 3
Registriert: 31. März 2009 13:07

Beitrag von s.baumgartner »

Ich weiß.. die ist ja auch gelinkt... sowie qtcore.lib, qtgui.lib, qtmain.lib und qtopengl.lib.... und qtnetwork.lib

Und wie gesagt, die Fehler treten nicht nur bei Qt3 Legacy Klassen auf, sondern auch wenn ich die Qt4 Neu-Variante verwende. Muss die Qt3Support.lib eventuell mit irgendeinem Flag neu-kompiliert werden?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Andere Compilerflags in Qt als im Projekt.
Aber warum nicht einfach mal dynmaisch Linken und schauen?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten