[Solved] Update von QT 4.2 zu 4.3 verursacht Linkerprobleme
Verfasst: 22. September 2007 13:25
Hallo
Ich schreibe schon seit längerem an einem Programm mit qt (damals 3) 4 und dcmtk von offis: http://www.dcmtk.org/
Als ich aber bei Gentoo von qt 4.2 auf 4.3 Update läuft zwar der Sourcecode durch, aber der Linker gibt mir haufenweise Fehler auf:
Hat sich die .pro-Datei geändert (in der doc finde ich leider nichts) oder gibt es einen Fehler im Verwenden von qmake?
Da ich glaube im makefile liegt das Problem poste ich gleich auch meine .pro-date:
Falls irgendjemand eine Idee haben könnte woran es liegen kann tausend Dank dafür 
Zum Problem nochmals: es ist reproduzierbar, (up/downgrade zwischen qt 4.2/4.3)
Mit 4.2 funktioniert es ohne Probleme (was mit dem Einzug von Kde4 aber kaum verwendet werden wird...)
Ich schreibe schon seit längerem an einem Programm mit qt (damals 3) 4 und dcmtk von offis: http://www.dcmtk.org/
Als ich aber bei Gentoo von qt 4.2 auf 4.3 Update läuft zwar der Sourcecode durch, aber der Linker gibt mir haufenweise Fehler auf:
Code: Alles auswählen
../../binary/lib/libdcmdata.a(dcistrmz.o): In function `DcmZLibInputFilter::~DcmZLibInputFilter()':
dcistrmz.cc:(.text+0x2a2): undefined reference to `inflateEnd'
../../binary/lib/libdcmdata.a(dcistrmz.o): In function `DcmZLibInputFilter::~DcmZLibInputFilter()':
dcistrmz.cc:(.text+0x354): undefined reference to `inflateEnd'
../../binary/lib/libdcmdata.a(dcistrmz.o): In function `DcmZLibInputFilter::~DcmZLibInputFilter()':
dcistrmz.cc:(.text+0x400): undefined reference to `inflateEnd'
../../binary/lib/libdcmdata.a(dcistrmz.o): In function `DcmZLibInputFilter::DcmZLibInputFilter()':
dcistrmz.cc:(.text+0x5b6): undefined reference to `inflateInit_'
dcistrmz.cc:(.text+0x759): undefined reference to `inflateInit2_'
../../binary/lib/libdcmdata.a(dcistrmz.o): In function `DcmZLibInputFilter::decompress(void const*, unsigned int)':
dcistrmz.cc:(.text+0x9c0): undefined reference to `inflate'
dcistrmz.cc:(.text+0xb7f): undefined reference to `inflate'
../../binary/lib/libdcmdata.a(dcistrmz.o): In function `DcmZLibInputFilter::DcmZLibInputFilter()':
dcistrmz.cc:(.text+0x1136): undefined reference to `inflateInit_'
dcistrmz.cc:(.text+0x12d9): undefined reference to `inflateInit2_'
../../binary/lib/libdcmdata.a(dcostrmz.o): In function `DcmZLibOutputFilter::compress(void const*, unsigned int, bool)':
dcostrmz.cc:(.text+0x388): undefined reference to `deflate'
dcostrmz.cc:(.text+0x555): undefined reference to `deflate'
../../binary/lib/libdcmdata.a(dcostrmz.o): In function `DcmZLibOutputFilter::~DcmZLibOutputFilter()':
dcostrmz.cc:(.text+0x9de): undefined reference to `deflateEnd'
../../binary/lib/libdcmdata.a(dcostrmz.o): In function `DcmZLibOutputFilter::~DcmZLibOutputFilter()':
dcostrmz.cc:(.text+0xa92): undefined reference to `deflateEnd'
../../binary/lib/libdcmdata.a(dcostrmz.o): In function `DcmZLibOutputFilter::~DcmZLibOutputFilter()':
dcostrmz.cc:(.text+0xb3c): undefined reference to `deflateEnd'
../../binary/lib/libdcmdata.a(dcostrmz.o): In function `DcmZLibOutputFilter::DcmZLibOutputFilter()':
dcostrmz.cc:(.text+0xce0): undefined reference to `deflateInit2_'
../../binary/lib/libdcmdata.a(dcostrmz.o): In function `DcmZLibOutputFilter::DcmZLibOutputFilter()':
dcostrmz.cc:(.text+0xfe2): undefined reference to `deflateInit2_'
collect2: ld gab 1 als Ende-Status zurück
make: *** [ourDicom] Fehler 1Da ich glaube im makefile liegt das Problem poste ich gleich auch meine .pro-date:
Code: Alles auswählen
TEMPLATE = app
CONFIG += qt debug
INCLUDEPATH += .\
../../binary/include/dcmtk/config\
../../binary/include/dcmtk/dcmdata\
../../binary/include/dcmtk/ofstd\
../../binary/include/dcmtk/dcmimgle\
../../binary/include/dcmtk/dcmimage\
../../binary/include/dcmtk/dcmjpeg\
../../binary/include
LIBS += -L../../binary/lib -ldcmdata -ldcmimage\
-ldcmjpeg -ldcmimgle\
-lofstd -lijg8\
-lijg16 -lijg12
DEFINES += HAVE_CONFIG_H
DEFINES += QT3_SUPPORT_WARNINGS
#QT += qt3support
# Input
HEADERS += GUI.h dicomNavigator.h GUIdata.h container.h dataSource.h dicomDir.h dicomNavigatorItem.h patient.h study.h series.h image.h frame.h bw.h dicomPresentator.h rgb.h dicomFile.h dicomDisplay.h metaInformation.h quickInfoDialog.h huList.h exportDialog.h filterDialog.h measureInfoDialog.h
SOURCES += main.cc GUI.cc dicomNavigator.cc GUIdata.cc container.cc dataSource.cc dicomDir.cc dicomNavigatorItem.cc patient.cc study.cc series.cc image.cc frame.cc bw.cc dicomPresentator.cc rgb.cc dicomFile.cc dicomDisplay.cc metaInformation.cc quickInfoDialog.cc huList.cc exportDialog.cc filterDialog.cc measureInfoDialog.ccZum Problem nochmals: es ist reproduzierbar, (up/downgrade zwischen qt 4.2/4.3)
Mit 4.2 funktioniert es ohne Probleme (was mit dem Einzug von Kde4 aber kaum verwendet werden wird...)