PDA

View Full Version : Problems compiling qdcws (Dicom Widget)



shadowroot
25th April 2011, 02:28
Hello everyone.
I'm having very problems for compiling Qt plugins to see DICOM images.
I have choose qdcws http://sourceforge.net/projects/qdcws/. Anybody has any experience in this?

here the error:



mingw32-make: Entering directory `C:/Repositorio/qdcws-1.0.1/BinWin32'
cd qdicomdiriconwidget/ && C:/QtSDK/mingw/bin/mingw32-make -f Makefile
mingw32-make[1]: Entering directory `c:/Repositorio/qdcws-1.0.1/BinWin32/qdicomdiriconwidget'
cd src/ && c:/QtSDK/mingw/bin/mingw32-make -f Makefile
mingw32-make[2]: Entering directory `c:/Repositorio/qdcws-1.0.1/BinWin32/qdicomdiriconwidget/src'
c:/QtSDK/mingw/bin/mingw32-make -f Makefile.Release
mingw32-make[3]: Entering directory `c:/Repositorio/qdcws-1.0.1/BinWin32/qdicomdiriconwidget/src'
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s -mthreads -Wl -shared -Wl,--out-implib,../lib/libqdicomdiriconwidget.a -o ../lib/qdicomdiriconwidget.dll ../obj/dicomdiriconmodel.o ../obj/qdicomdiriconwidget.o ../obj/qiconimage.o ../obj/qdicomdiriconwidgetplugin.o ../obj/moc_dicomdiriconmodel.o ../obj/moc_qdicomdiriconwidget.o ../obj/moc_qdicomdiriconwidgetplugin.o -L'c:/msys/1.0/local/lib' -L'c:/QtSDK/Desktop/Qt/4.7.3/mingw/lib' -LC:\msys\1.0\local\lib -llog4cpp -ldcmdata -lofstd -ldcmimage -ldcmjpeg -ldcmimgle -lzlib_o -ladvapi32 -lws2_32 -lnetapi32 -lQtScript4 -lQtXml4 -lQtGui4 -lQtCore4 -lQtDesigner4
Creating library file: ../lib/libqdicomdiriconwidget.a
c:/msys/1.0/local/lib/libdcmdata.a(dcdicdir.o):dcdicdir.cc:(.text+0x207) : undefined reference to `log4cplus::Logger::isEnabledFor(int) const'
c:/msys/1.0/local/lib/libdcmdata.a(dcdicdir.o):dcdicdir.cc:(.text+0x2be) : undefined reference to `log4cplus::Logger::forcedLog(int, OFString const&, char const*, int, char const*) const'
c:/msys/1.0/local/lib/libdcmdata.a(dcdicdir.o):dcdicdir.cc:(.text+0x31b) : undefined reference to `log4cplus::Logger::isEnabledFor(int) const'
c:/msys/1.0/local/lib/libdcmdata.a(dcdicdir.o):dcdicdir.cc:(.text+0x42f) : undefined reference to `log4cplus::Logger::forcedLog(int, OFString const&, char const*, int, char const*) const'
c:/msys/1.0/local/lib/libdcmdata.a(dcdicdir.o):dcdicdir.cc:(.text+0x490) : undefined reference to `log4cplus::Logger::isEnabledFor(int) const'
c:/msys/1.0/local/lib/libdcmdata.a(dcdicdir.o):dcdicdir.cc:(.text+0x566) : undefined reference to `log4cplus::Logger::forcedLog(int, OFString const&, char const*, int, char const*) const'
c:/msys/1.0/local/lib/libdcmdata.a(dcdicdir.o):dcdicdir.cc:(.text+0x672) : undefined reference to `log4cplus::Logger::isEnabledFor(int) const'
c:/msys/1.0/local/lib/libdcmdata.a(dcdicdir.o):dcdicdir.cc:(.text+0x768) : undefined reference to `log4cplus::Logger::forcedLog(int, OFString const&, char const*, int, char const*) const'
c:/msys/1.0/local/lib/libdcmdata.a(dcdicdir.o):dcdicdir.cc:(.text+0x881) : undefined reference to `log4cplus::Logger::isEnabledFor(int) const'
c:/msys/1.0/local/lib/libdcmdata.a(dcdicdir.o):dcdicdir.cc:(.text+0x976) : undefined reference to `log4cplus::Logger::forcedLog(int, OFString const&, char const*, int, char const*) const'
c:/msys/1.0/local/lib/libdcmdata.a(dcdicdir.o):dcdicdir.cc:(.text+0x150c ): undefined reference to `log4cplus::Logger::isEnabledFor(int) const'
c:/msys/1.0/local/lib/libdcmdata.a(dcdicdir.o):dcdicdir.cc:(.text+0x15c9 ): undefined reference to `log4cplus::Logger::forcedLog(int, OFString const&, char const*, int, char const*) const'

I´m linking with log4cpp as you can see. I think that the problem is not on qdcws library, may be on DCMTK component.
Anyone knows another library that works with Qt?

Thank in advance.
Gaston

ChrisW67
25th April 2011, 03:26
Could it be that log4cpp (http://log4cpp.sourceforge.net) != log4cplus (http://log4cplus.sourceforge.net). It's clearly looking for the latter.

zxzxy1988
6th December 2011, 06:33
I am currently use qdcws in my project, too, and I encountered another problem(under Linux, Ubuntu 11.10, with a gcc/g++ of version 4.6.1)

make[3]: Entering directory `/home/zxzxy/Downloads/qdcws-1.0.1/qdicomdiriconwidget/src'
g++ -c -pipe -O2 -D_REENTRANT -Wall -W -fPIC -DQT_WEBKIT -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SCRIPT_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQDESIGNER_EXPORT_WIDGETS -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtDesigner -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtScript -I/usr/include/qt4 -I/home/zxzxy/dicom//include -I../tmp -o ../obj/dicomdiriconmodel.o dicomdiriconmodel.cpp
In file included from dicomdiriconmodel.cpp:21:0:
dicomdiriconmodel.h:40:53: warning: ‘typedef’ was ignored in this declaration [enabled by default]
dicomdiriconmodel.cpp: In member function ‘void CDicomDirIconModel::loadFile(const QString&)’:
dicomdiriconmodel.cpp:168:32: error: ‘DCM_PatientsName’ was not declared in this scope
make[3]: *** [../obj/dicomdiriconmodel.o] Error 1


I know it's an old project, but I hope someone could help me to resolve it. I also wish to find the one who uses the QDCWS. My Email is zhuxiaoyongsdu@163.com:)

ChrisW67
6th December 2011, 07:22
It looks like you do not have the pre-requisites outlined in the INSTALL file:


PRE-REQUISITES
==============
The widget set is depending on the Dicom Toolkit (DCMTK) and can be downloaded from
ftp://dcmtk.php.enicom.offis.de/pub/dicom/offis/software/dcmtk/dcmtk354/dcmtk-3.5.4.tar.gz
For more information visit the home site www.dcmtk.org Details how to install this
library is included in the distribution.

There's a more recent version here: http://www.dcmtk.org/dcmtk.php.en