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...)