[Dcmlib] makeDicomDir sur cygwin
Jean-Michel Rouet
jm.rouet at noos.fr
Mon Nov 22 21:29:07 CET 2004
Y'a un probleme avec makeDicomDir sur cygwin.
Apparemment le chemin generé par cmake (GDCM_DATA_ROOT) n'est pas compatible avec l'api win32
FindFirstFile dans DirList::Explore.
Deux solutions:
Une préventive qui consiste a modifier DirList::Explore pour que sous cygwin on utilise opendir() (mode unix standard).
Une curative, qui modifie le programe de test makeDicomDir comme suit (appel a la fonction cygwin de conversion de chemin unix vers chemin dos: cygwin32_conv_to_full_win32_path(const char*, char *)) :
rouet at vanoise:~/src/gdcm/Test$ cvs diff makeDicomDir.cxx
Index: makeDicomDir.cxx
===================================================================
RCS file: /cvs/public/gdcm/Test/makeDicomDir.cxx,v
retrieving revision 1.31
diff -r1.31 makeDicomDir.cxx
22a23,25
> #if defined (__CYGWIN__)
> #include "sys/cygwin.h"
> #endif
47c50
< std::string dirName;
---
> char *inputDirName = argc > 1 ? argv[1] : GDCM_DATA_ROOT;
49,56c52,62
< if (argc > 1)
< {
< dirName = argv[1];
< }
< else
< {
< dirName = GDCM_DATA_ROOT;
< }
---
> std::string dirName;
>
> #if defined (__CYGWIN__)
> // on cygwin, cmake use a cygwin path, which is not compatible with the
> // FindFirstFile winAPI call in DirList::Explore
> char dosDirName[1024];
> cygwin32_conv_to_full_win32_path(inputDirName,dosDirName);
> inputDirName = dosDirName;
> #endif
>
> dirName = inputDirName;
Perso je préfère la premiere...
JM
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.creatis.insa-lyon.fr/pipermail/dcmlib/attachments/20041122/815cfe30/attachment.html>
More information about the Dcmlib
mailing list