Qt3 -> Qt4 ... Linkerprobleme unter VS2005
Verfasst: 1. April 2009 09:52
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:
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
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
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