[Ctk-developers] mingw compiles dcmtk.git
Dean Inglis
dean.inglis at camris.ca
Sat Oct 30 14:53:49 UTC 2010
getting closer! As long as I set DCMTK_DIR:PATH to the root of an install
path for dcmtk (ie build dcmtk with "mingw32-make install") all the
subsequent
CMakeCache entries are set up correctly.
However, the latest dcmtk I am using from offis's git repository no longer
uses
"Patients" but uses "Patient" in the defined dcm tags in dcdeftag.h .
D:\Developer\Sources\CTK\Libs\DICOM\Core\ctkDICOMIndexer.cpp:168: error:
'DCM_Pa
tientsName' was not declared in this scope
D:\Developer\Sources\CTK\Libs\DICOM\Core\ctkDICOMIndexer.cpp:193: error:
'DCM_Pa
tientsBirthDate' was not declared in this scope
D:\Developer\Sources\CTK\Libs\DICOM\Core\ctkDICOMIndexer.cpp:194: error:
'DCM_Pa
tientsBirthTime' was not declared in this scope
D:\Developer\Sources\CTK\Libs\DICOM\Core\ctkDICOMIndexer.cpp:195: error:
'DCM_Pa
tientsSex' was not declared in this scope
D:\Developer\Sources\CTK\Libs\DICOM\Core\ctkDICOMIndexer.cpp:196: error:
'DCM_Pa
tientsAge' was not declared in this scope
D:\Developer\Sources\CTK\Libs\DICOM\Core\ctkDICOMIndexer.cpp:204: error:
'DCM_Pe
rformingPhysiciansName' was not declared in this scope
D:\Developer\Sources\CTK\Libs\DICOM\Core\ctkDICOMIndexer.cpp:205: error:
'DCM_Re
ferringPhysiciansName' was not declared in this scope
mingw32-make[5]: ***
[Libs/DICOM/Core/CMakeFiles/CTKDICOMCore.dir/ctkDICOMIndexe
r.cpp.obj] Error 1
mingw32-make[4]: *** [Libs/DICOM/Core/CMakeFiles/CTKDICOMCore.dir/all] Error
2
mingw32-make[3]: *** [all] Error 2
mingw32-make[2]: *** [CMakeExternals/Stamp/CTK-build/CTK-build-build] Error
2
mingw32-make[1]: *** [CMakeFiles/CTK-build.dir/all] Error 2
mingw32-make: *** [all] Error 2
I added the following to ctkDICOMIndexer ctkDICOMQuery and
ctkDICOMIndexerBase
#ifndef DCM_PatientsName
#ifdef DCM_PatientName
#define DCM_PatientsName DCM_PatientName
#endif
#endif
#ifndef DCM_PatientsBirthDate
#ifdef DCM_PatientBirthDate
#define DCM_PatientsBirthDate DCM_PatientBirthDate
#endif
#endif
#ifndef DCM_PatientsBirthTime
#ifdef DCM_PatientBirthTime
#define DCM_PatientsBirthTime DCM_PatientBirthTime
#endif
#endif
#ifndef DCM_PatientsAge
#ifdef DCM_PatientAge
#define DCM_PatientsAge DCM_PatientAge
#endif
#endif
#ifndef DCM_PatientsSex
#ifdef DCM_PatientSex
#define DCM_PatientsSex DCM_PatientSex
#endif
#endif
#ifndef DCM_PerformingPhysiciansName
#ifdef DCM_PerformingPhysicianName
#define DCM_PerformingPhysiciansName DCM_PerformingPhysicianName
#endif
#endif
#ifndef DCM_ReferringPhysiciansName
#ifdef DCM_ReferringPhysicianName
#define DCM_ReferringPhysiciansName DCM_ReferringPhysicianName
#endif
#endif
which then finally conks out with
D:\Developer\Sources\CTK\Libs\DICOM\Core\ctkDICOMQuery.cpp: In member
function '
void ctkDICOMQuery::query(QSqlDatabase)':
D:\Developer\Sources\CTK\Libs\DICOM\Core\ctkDICOMQuery.cpp:333: error: no
matchi
ng function for call to 'DcmSCU::closeAssociation(const OFCondition&)'
d:\Developer\Releases\MinGW\SHARED\dcmtkInstall\include/dcmtk/dcmnet/scu.h:272:
note: candidates are: virtual void
DcmSCU::closeAssociation(DcmCloseAssociationT
ype)
mingw32-make[5]: ***
[Libs/DICOM/Core/CMakeFiles/CTKDICOMCore.dir/ctkDICOMQuery.
cpp.obj] Error 1
mingw32-make[4]: *** [Libs/DICOM/Core/CMakeFiles/CTKDICOMCore.dir/all] Error
2
mingw32-make[3]: *** [all] Error 2
mingw32-make[2]: *** [CMakeExternals/Stamp/CTK-build/CTK-build-build] Error
2
mingw32-make[1]: *** [CMakeFiles/CTK-build.dir/all] Error 2
mingw32-make: *** [all] Error 2
which is due to dcmtk.git redefining the signature of closeAssociation:
/** Different types of closing an association
*/
enum DcmCloseAssociationType
{
/// Release the current association
DCMSCU_RELEASE_ASSOCIATION,
/// Abort the current association
DCMSCU_ABORT_ASSOCIATION,
/// Peer requested release (Aborting)
DCMSCU_PEER_REQUESTED_RELEASE,
/// Peer aborted the association
DCMSCU_PEER_ABORTED_ASSOCIATION
};
virtual void closeAssociation(const DcmCloseAssociationType closeType);
whereas there was in dcmtk 3.5.5
virtual void closeAssociation(const OFCondition& abortOrReleaseRequested);
So it appears that there are too many differences between dcmtk.git and that
used in ctk to make a go of getting DICOM working in CTK with MinGW.
Can the dcmtk repository currently associated with CTK be adapted for MinGW
until Offis dcmtk.git is aligned with ctk.git?
Dean
----- Original Message -----
From: "Sascha Zelzer" <s.zelzer at dkfz-heidelberg.de>
To: "Dean Inglis" <dean.inglis at camris.ca>
Cc: <ctk-developers at commontk.org>
Sent: Tuesday, October 26, 2010 1:51 AM
Subject: Re: [Ctk-developers] mingw compiles dcmtk.git
> Make sure to use the cmake cache in <CTK-build-dir>/CTK-build , not
> <CTK-build-dir>, and to enable something in CTK which uses DCMTK.
>
> - Sascha
>
> On 10/26/2010 03:14 AM, Dean Inglis wrote:
>> Hi Sascha
>>
>> Ive installed CMake 2.8.2, specified the external build dir in the
>> cmakecache,
>> there are no DCMTK_ vars in the advanced section of my cache to set.
>> It's odd that I can set and external VTK_DIR and the vtk core gets built.
>>
>> Dean
>>
>>> You might also want to try a recent CMake version (> 2.8.0). I think
>>> the
>>> FindDCMTK.cmake file in those will automatically find the include
>>> directories.
>>>
>>> - Sascha
>>
>> ----- Original Message -----
>> From: "Sascha Zelzer"<s.zelzer at dkfz-heidelberg.de>
>> To: "Dean Inglis"<dean.inglis at camris.ca>
>> Cc:<ctk-developers at commontk.org>
>> Sent: Monday, October 25, 2010 12:14 PM
>> Subject: Re: [Ctk-developers] mingw compiles dcmtk.git
>>
>>
>>> Well, it seems that the restriction I mentioned in my previous post
>>> applies to DCMTK...
>>>
>>> There is no DCMTKConfig.cmake file in the build tree and the
>>> FindDCMTK.cmake file (shipped with CMake) is not able to find the
>>> include
>>> dirs automatically. However, you should be able to set them manually.
>>> Have
>>> a look at DCMTK_*_INCLUDE_DIR variables (probably advanced) and set them
>>> to the appropriate directories in DCMTKs source tree.
>>>
>>> - Sascha
>>>
>>> On 10/25/2010 05:21 PM, Dean Inglis wrote:
>>>> Hi Sascha,
>>>>
>>>> ctk cant find the include paths to the header files even though I have
>>>> in
>>>> cache
>>>>
>>>> //No help, variable specified on the command line.
>>>> DCMTK_DIR:PATH=d:/Developer/Releases/MinGW/SHARED/dcmtk
>>>>
>>>> Dean
>>>>
>>>> Scanning dependencies of target CTKDICOMCore
>>>> [ 58%] Building CXX object
>>>> Libs/DICOM/Core/CMakeFiles/CTKDICOMCore.dir/ctkDICOM.
>>>> cpp.obj
>>>> [ 58%] Building CXX object
>>>> Libs/DICOM/Core/CMakeFiles/CTKDICOMCore.dir/ctkDICOMI
>>>> ndexer.cpp.obj
>>>> D:\Developer\Sources\CTK\Libs\DICOM\Core\ctkDICOMIndexer.cpp:40:36:
>>>> error:
>>>> dcmtk
>>>> /dcmdata/dcfilefo.h: No such file or directory
>>>> D:\Developer\Sources\CTK\Libs\DICOM\Core\ctkDICOMIndexer.cpp:42:36:
>>>> error:
>>>> dcmtk
>>>> /dcmdata/dcdeftag.h: No such file or directory
>>>> D:\Developer\Sources\CTK\Libs\DICOM\Core\ctkDICOMIndexer.cpp:43:36:
>>>> error:
>>>> dcmtk
>>>> /dcmdata/dcdatset.h: No such file or directory
>>>> D:\Developer\Sources\CTK\Libs\DICOM\Core\ctkDICOMIndexer.cpp:44:32:
>>>> error:
>>>> dcmtk
>>>> /ofstd/ofcond.h: No such file or directory
>>>> D:\Developer\Sources\CTK\Libs\DICOM\Core\ctkDICOMIndexer.cpp:45:34:
>>>> error:
>>>> dcmtk
>>>> /ofstd/ofstring.h: No such file or directory
>>>> D:\Developer\Sources\CTK\Libs\DICOM\Core\ctkDICOMIndexer.cpp:46:65:
>>>> error:
>>>> dcmtk
>>>> /ofstd/ofstd.h: No such file or directory
>>>> D:\Developer\Sources\CTK\Libs\DICOM\Core\ctkDICOMIndexer.cpp:47:72:
>>>> error:
>>>> dcmtk
>>>> /dcmdata/dcddirif.h: No such file or directory
>>>> D:\Developer\Sources\CTK\Libs\DICOM\Core\ctkDICOMIndexer.cpp: In member
>>>> function
>>>> 'void ctkDICOMIndexer::addDirectory(QSqlDatabase, const QString&,
>>>> const
>>>> QString
>>>> &)':
>>>> D:\Developer\Sources\CTK\Libs\DICOM\Core\ctkDICOMIndexer.cpp:93: error:
>>>> 'OFList'
>>>> was not declared in this scope
>>>> D:\Developer\Sources\CTK\Libs\DICOM\Core\ctkDICOMIndexer.cpp:93: error:
>>>> 'OFStrin
>>>> g' was not declared in this scope
>>>> D:\Developer\Sources\CTK\Libs\DICOM\Core\ctkDICOMIndexer.cpp:93: error:
>>>> 'origina
>>>> lDcmtkFileNames' was not declared in this scope
>>>> D:\Developer\Sources\CTK\Libs\DICOM\Core\ctkDICOMIndexer.cpp:94: error:
>>>> 'dcmtkFi
>>>> leNames' was not declared in this scope
>>>>
>>>> ----- Original Message -----
>>>> From: "Sascha Zelzer"<s.zelzer at dkfz-heidelberg.de>
>>>> To: "Dean Inglis"<dean.inglis at camris.ca>
>>>> Cc:<ctk-developers at commontk.org>
>>>> Sent: Monday, October 25, 2010 9:43 AM
>>>> Subject: Re: [Ctk-developers] mingw compiles dcmtk.git
>>>>
>>>>
>>>>
>>>>> Hi Dean,
>>>>>
>>>>> you can set DCMTK_DIR to an external DCMTK build tree. Either add the
>>>>> variable manually in the CMake GUI or start cmake in an empty build
>>>>> directory like:
>>>>>
>>>>> cmake -DDCMTK_DIR:PATH=/path/to/dcmtk/build/tree<CTK-source>
>>>>>
>>>>> That should work...
>>>>>
>>>>> - Sascha
>>>>>
>>>>> On 10/25/2010 03:15 PM, Dean Inglis wrote:
>>>>>
>>>>>> Ive been submitting an experimental mingw dashboard for a few weeks
>>>>>> now, and Id like to have it testing the dcmtk options, however, there
>>>>>> is
>>>>>> no
>>>>>> cmake cache option for using an external dcmtk (yet there is for
>>>>>> vtk).
>>>>>> Can there either be an intermediate "re-alignment" or a cmake option
>>>>>> to use an external dcmtk with an appropriate "do so at your own
>>>>>> risk!"
>>>>>> warning message?
>>>>>>
>>>>>> ----- Original Message -----
>>>>>> From: "OFFIS DICOM Team"<dicom at offis.de>
>>>>>> To:<ctk-developers at commontk.org>
>>>>>> Sent: Monday, October 25, 2010 8:49 AM
>>>>>> Subject: Re: [Ctk-developers] mingw compiles dcmtk.git
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>> Hi Dean,
>>>>>>>
>>>>>>> Am 25.10.2010 14:43, schrieb Dean Inglis:
>>>>>>>
>>>>>>>
>>>>>>>> can the latest OFFIS DCMTK git repository be adopted for CTK?
>>>>>>>>
>>>>>>>>
>>>>>>> No, vice versa: The goal is to finally align CTK's DCMTK repository
>>>>>>> with
>>>>>>> the
>>>>>>> official DCMTK repository from OFFIS so CTK is always based on the
>>>>>>> latest
>>>>>>> official DCMTK code available from OFFIS. Both are already very
>>>>>>> similar,
>>>>>>> however, that goal is not reached (yet! :-).
>>>>>>>
>>>>>>> Best regards,
>>>>>>> Michael Onken
>>>>>>>
>>>>>>> --
>>>>>>> OFFIS DICOM Team, Escherweg 2, 26121 Oldenburg, Germany
>>>>>>> E-Mail: dicom at offis.de, URL: http://dicom.offis.de
>>>>>>> _______________________________________________
>>>>>>> Ctk-developers mailing list
>>>>>>> Ctk-developers at commontk.org
>>>>>>> http://public.kitware.com/cgi-bin/mailman/listinfo/ctk-developers
>>>>>>>
>>>>>>>
>>>>>> _______________________________________________
>>>>>> Ctk-developers mailing list
>>>>>> Ctk-developers at commontk.org
>>>>>> http://public.kitware.com/cgi-bin/mailman/listinfo/ctk-developers
>>>>>>
>>>>>>
>
More information about the Ctk-developers
mailing list