[Dcmlib] [Gdcm2] Building GDCM2
Mathieu Malaterre
mathieu.malaterre at gmail.com
Mon Feb 11 08:57:43 CET 2008
Hi David,
Thanks for spending time on this issue, I am sure we'll get gdcm2 to
build on win32 very soon.
On Feb 11, 2008 3:53 AM, David Witten <wittend at wwrinc.com> wrote:
> Apparently there is no way to get from the current SVN checkout of GDCM2
> to a Python wrapped version without building the cvs checkout of VTK.
correct. This was a design issue (technically I did not pay attention
I could not build gdcm2 against VTK 5.0.x). So yes you'll either need
VTK CVS or wait the end of the month to get VTK 5.2. Just for
reference (google archive), the reader takes as input a
vtkStringArray, which makes it *so* much more convinient than the old
approach in VTK 4.x: root+file pattern expression !
> I have tried to build gdcm2 systematically with VS2003 hoping for Python
> 2.5 compatibility (with GDCM_BUILD_SHARED_LIBS set to OFF) but no success.
Yup there will be issue at some point since python require the library
to be a loadable module, technically a .dll on win32. I cannot
remember if you can do that on Win32 or not (build a python module
from a set of static c++ lib).
> I am attaching a text file of my notes in case you are interested.
<...>
> gdcmPYTHON_wrap.cxx(2682) : fatal error C1083: Cannot open include file:
> 'inttypes.h': No such file or directory
I have no clue what is wrong here. I forwarded your post to the swig
mailing list. AFAIK if you comment out the %include <inttype.h> in
gdcm.i from the source dir you should bypass the error. But swig will
not generate interface for function like: void foo(uint32_t f); ...
> I don't find 'gdcmPYTHON_wrap.cxx' anywhere in Swig, Python25, or gdcm2
> trunk. I don't know Swig well enough to know what the problem might
> be. Perhaps they are all manifestations of a single problem.
gdcmPYTHON_wrap.cxx is a generated file. If you could not find it, it
means you did the right thing in doing an out-of-source build. thus
try searching for this file in the binary dir (where you are
generating your dll), it should be in the 'binary dir'/Wrapping
directory.
> Any comments are greatly appreciated (however stupid my blunders may be)!
there is nothing stupid here, just the main author of gdcm2 is a lazy
bastard when it comes to doing compilation on Win32 :)
> \Work\DICOM\gdcm2\Utilities\VTK\vtkGDCMImageWriter.cxx(426) : error C2039: 'GetStudyDate' : is not a member of 'vtkMedicalImageProperties'
> C:\Work\DICOM\VTK-5.0\IO\vtkMedicalImageProperties.h(31) : see declaration of 'vtkMedicalImageProperties'
Oh yeah ! This one you really need a recent VTK CVS sorry :(
> \Work\DICOM\gdcm2\Utilities\VTK\vtkGDCMImageReader.cxx(515) : error C2227: left of '->GetValue' must point to class/struct/union
> \Work\DICOM\gdcm2\Utilities\VTK\vtkGDCMImageReader.cxx(515) : error C2228: left of '.c_str' must have class/struct/union type
??
> ###=====================================================
> Reenter Cmake, Turn on Advanced Options.
> Set DCMTK_DIR: C:\Work\DICOM\OFFIS\dcmtk
> Build config
> Reenter VS2003.
> Build ALL_BUILD (both debug & release)
> Result:
> No Improvement:
> Build: 21 succeeded, 1 failed, 0 skipped
DCMTK ?? what is dcmtk anyway :-P
> \Work\DICOM\gdcm2\Utilities\wxWidgets\wxGDCMFrame.cpp(6) : fatal error C1083: Cannot open include file: 'vtkGDCMReader.h': No such file or directory
Thanks for the bug report, I'll fix it ASAP !
> Seems to be a dead end for now. I guess that I have to use a dev sheckout of VTK.
Thanks for your hard work ! Looking forward for the next pass, just
give me a couple of days to fix the shared lib issues,
--
Mathieu
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Gdcm-developers mailing list
Gdcm-developers at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gdcm-developers
More information about the Dcmlib
mailing list