Bonjour,

Léger remise en contexte sur le pourquoi du comment j'en suis arrivée là. Je suis en stage, j'ai des images aux format DICOM issus d'un tomographe et je me dois de déduire les voxels issus de ces coupes, pour une futur reconstruction 3D. Donc idée générale, récupérer les informations issus du DICOM (si possible le texte et extraire l'image), nettoyer un minimum voir retravailler l'image et de là regarder différent algo. pour en déduire les voxels (je n'ai pas trop regarder la question, j'attends de savoir ce que j'ai dans mes fichiers DICOM) ect.

De ce fait pour la première étape et après quelques recherches, il me semblait pas mal de travailler avec DCMTK, puisque j'ai comme contrainte le multiplateforme et l'open source, et tant qu'à faire je préfère le cpp. Mais là, nous arrivons aux drames ....

J'ai voulu utiliser CodeBlock (10 puis dernière version) sous Windows 7, j'ai suivi l'install donné par DCMTK. Avec le CB 10, j'arrivais à générer le projet importable avec CMake 2.8.10.2 (avec des not-found un peu partout), mais quand je le construisais sous CB, il y avait beaucoup trop d'erreur (à priori manque de lib ou autre).
De ce fait j'ai migré sous la dernière version, là idem mais à priori la version du compilateur avait changé. Du coup reprise à zero et je suis repartie sur CMake. Et là gros mystère, j'ai toujours des erreurs ... Je vous mets les générations, si ça peut aider :
- en premier lieu voici la génération (longue) au premier configure du CMake
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
 
The C compiler identification is GNU 4.6.2
The CXX compiler identification is GNU 4.6.2
Check for working C compiler: C:/MinGW/bin/gcc.exe
Check for working C compiler: C:/MinGW/bin/gcc.exe -- works
Detecting C compiler ABI info
Detecting C compiler ABI info - done
Check for working CXX compiler: C:/MinGW/bin/g++.exe
Check for working CXX compiler: C:/MinGW/bin/g++.exe -- works
Detecting CXX compiler ABI info
Detecting CXX compiler ABI info - done
Warning: PNG support will be disabled because libpng directory was not specified. Correct path and re-enable DCMTK_WITH_PNG.
Warning: TIFF support will be disabled because libtiff directory was not specified. Correct path and re-enable DCMTK_WITH_TIFF.
Warning: ZLIB support will be disabled because zlib directory was not specified. Correct path and re-enable DCMTK_WITH_ZLIB.
Found Doxygen: C:/Program Files/doxygen/bin/doxygen.exe (found version "1.8.3.1") 
Info: DCMTK's builtin private dictionary support will be disabled
Info: Thread support will be enabled
Looking for sys/types.h
Looking for sys/types.h - found
Looking for stdint.h
Looking for stdint.h - found
Looking for stddef.h
Looking for stddef.h - found
Check size of char
Check size of char - done
Check size of double
Check size of double - done
Check size of float
Check size of float - done
Check size of int
Check size of int - done
Check size of long
Check size of long - done
Check size of short
Check size of short - done
Check size of void*
Check size of void* - done
Looking for C++ include windows.h
Looking for C++ include windows.h - found
Looking for C++ include winsock.h
Looking for C++ include winsock.h - found
Looking for C++ include errno.h
Looking for C++ include errno.h - found
Looking for C++ include dirent.h
Looking for C++ include dirent.h - found
Looking for C++ include fcntl.h
Looking for C++ include fcntl.h - found
Looking for C++ include fstream
Looking for C++ include fstream - found
Looking for C++ include fstream.h
Looking for C++ include fstream.h - not found
Looking for C++ include fnmatch.h
Looking for C++ include fnmatch.h - not found
Looking for C++ include float.h
Looking for C++ include float.h - found
Looking for C++ include malloc.h
Looking for C++ include malloc.h - found
Looking for C++ include math.h
Looking for C++ include math.h - found
Looking for C++ include ieeefp.h
Looking for C++ include ieeefp.h - not found
Looking for C++ include inttypes.h
Looking for C++ include inttypes.h - found
Looking for C++ include iomanip
Looking for C++ include iomanip - found
Looking for C++ include iomanip.h
Looking for C++ include iomanip.h - not found
Looking for C++ include iostream
Looking for C++ include iostream - found
Looking for C++ include iostream.h
Looking for C++ include iostream.h - not found
Looking for C++ include io.h
Looking for C++ include io.h - found
Looking for C++ include iso646.h
Looking for C++ include iso646.h - found
Looking for C++ include png.h
Looking for C++ include png.h - found
Looking for C++ include limits.h
Looking for C++ include limits.h - found
Looking for C++ include locale.h
Looking for C++ include locale.h - found
Looking for C++ include ndir.h
Looking for C++ include ndir.h - not found
Looking for C++ include netdb.h
Looking for C++ include netdb.h - not found
Looking for C++ include new.h
Looking for C++ include new.h - not found
Looking for C++ include semaphore.h
Looking for C++ include semaphore.h - not found
Looking for C++ include setjmp.h
Looking for C++ include setjmp.h - found
Looking for C++ include sstream
Looking for C++ include sstream - found
Looking for C++ include sstream.h
Looking for C++ include sstream.h - not found
Looking for C++ include stat.h
Looking for C++ include stat.h - not found
Looking for C++ include stdio.h
Looking for C++ include stdio.h - found
Looking for C++ include cstdio
Looking for C++ include cstdio - found
Looking for C++ include strings.h
Looking for C++ include strings.h - found
Looking for C++ include string.h
Looking for C++ include string.h - found
Looking for C++ include strstream.h
Looking for C++ include strstream.h - not found
Looking for C++ include strstream
Looking for C++ include strstream - found
Looking for C++ include strstrea.h
Looking for C++ include strstrea.h - not found
Looking for C++ include synch.h
Looking for C++ include synch.h - not found
Looking for C++ include sys/errno.h
Looking for C++ include sys/errno.h - not found
Looking for C++ include sys/dir.h
Looking for C++ include sys/dir.h - not found
Looking for C++ include sys/file.h
Looking for C++ include sys/file.h - found
Looking for C++ include sys/ndir.h
Looking for C++ include sys/ndir.h - not found
Looking for C++ include sys/param.h
Looking for C++ include sys/param.h - found
Looking for C++ include sys/resource.h
Looking for C++ include sys/resource.h - not found
Looking for C++ include sys/select.h
Looking for C++ include sys/select.h - not found
Looking for C++ include sys/time.h
Looking for C++ include sys/time.h - found
Looking for C++ include sys/utime.h
Looking for C++ include sys/utime.h - found
Looking for C++ include sys/utsname.h
Looking for C++ include sys/utsname.h - not found
Looking for C++ include sys/wait.h
Looking for C++ include sys/wait.h - not found
Looking for C++ include sys/socket.h
Looking for C++ include sys/socket.h - not found
Looking for C++ include thread.h
Looking for C++ include thread.h - not found
Looking for C++ include sys/stat.h
Looking for C++ include sys/stat.h - found
Looking for C++ include time.h
Looking for C++ include time.h - found
Looking for C++ include unistd.h
Looking for C++ include unistd.h - found
Looking for C++ include unix.h
Looking for C++ include unix.h - not found
Looking for C++ include utime.h
Looking for C++ include utime.h - found
Looking for C++ include wctype.h
Looking for C++ include wctype.h - found
Looking for C++ include alloca.h
Looking for C++ include alloca.h - not found
Looking for C++ include arpa/inet.h
Looking for C++ include arpa/inet.h - not found
Looking for C++ include ctype.h
Looking for C++ include ctype.h - found
Looking for C++ include memory.h
Looking for C++ include memory.h - found
Looking for C++ include pthread.h
Looking for C++ include pthread.h - found
Looking for C++ include libc.h
Looking for C++ include libc.h - not found
Looking for C++ include stdlib.h
Looking for C++ include stdlib.h - found
Looking for C++ include stdarg.h
Looking for C++ include stdarg.h - found
Looking for C++ include cstdarg
Looking for C++ include cstdarg - found
Looking for C++ include signal.h
Looking for C++ include signal.h - found
Looking for include files sys/types.h, netinet/in_systm.h
Looking for include files sys/types.h, netinet/in_systm.h - not found
Looking for include files sys/types.h, netinet/in.h
Looking for include files sys/types.h, netinet/in.h - not found
Looking for include files sys/types.h, netinet/tcp.h
Looking for include files sys/types.h, netinet/tcp.h - not found
Looking for connect
Looking for connect - not found
Looking for accept
Looking for accept - not found
Looking for access
Looking for access - found
Looking for bcmp
Looking for bcmp - not found
Looking for bcopy
Looking for bcopy - not found
Looking for bind
Looking for bind - not found
Looking for bzero
Looking for bzero - not found
Looking for cuserid
Looking for cuserid - not found
Looking for vprintf
Looking for vprintf - found
Looking for finite
Looking for finite - found
Looking for _doprnt
Looking for _doprnt - not found
Looking for flock
Looking for flock - not found
Looking for fork
Looking for fork - not found
Looking for getenv
Looking for getenv - found
Looking for geteuid
Looking for geteuid - not found
Looking for gethostbyname
Looking for gethostbyname - not found
Looking for gethostname
Looking for gethostname - not found
Looking for gethostid
Looking for gethostid - not found
Looking for getlogin
Looking for getlogin - not found
Looking for getpid
Looking for getpid - found
Looking for getsockname
Looking for getsockname - not found
Looking for getsockopt
Looking for getsockopt - not found
Looking for getuid
Looking for getuid - not found
Looking for index
Looking for index - not found
Looking for isinf
Looking for isinf - not found
Looking for isnan
Looking for isnan - found
Looking for itoa
Looking for itoa - found
Looking for listen
Looking for listen - not found
Looking for lockf
Looking for lockf - not found
Looking for malloc_debug
Looking for malloc_debug - not found
Looking for memcmp
Looking for memcmp - found
Looking for memcpy
Looking for memcpy - found
Looking for memmove
Looking for memmove - found
Looking for memset
Looking for memset - found
Looking for mkstemp
Looking for mkstemp - not found
Looking for mktemp
Looking for mktemp - found
Looking for rindex
Looking for rindex - not found
Looking for select
Looking for select - not found
Looking for setsockopt
Looking for setsockopt - not found
Looking for setuid
Looking for setuid - not found
Looking for sleep
Looking for sleep - not found
Looking for socket
Looking for socket - not found
Looking for stat
Looking for stat - found
Looking for strchr
Looking for strchr - found
Looking for strdup
Looking for strdup - found
Looking for strerror
Looking for strerror - found
Looking for strlcat
Looking for strlcat - not found
Looking for strlcpy
Looking for strlcpy - not found
Looking for strstr
Looking for strstr - found
Looking for strtoul
Looking for strtoul - found
Looking for sysinfo
Looking for sysinfo - not found
Looking for tempnam
Looking for tempnam - found
Looking for tmpnam
Looking for tmpnam - found
Looking for uname
Looking for uname - not found
Looking for usleep
Looking for usleep - found
Looking for waitpid
Looking for waitpid - not found
Looking for _findfirst
Looking for _findfirst - found
Looking for isinf
Looking for isinf - not found.
Looking for isnan
Looking for isnan - not found.
Looking for finite
Looking for finite - found
Looking for flock
Looking for flock - not found.
Looking for gethostbyname
Looking for gethostbyname - found
Looking for gethostid
Looking for gethostid - not found.
Looking for bzero
Looking for bzero - not found.
Looking for gethostname
Looking for gethostname - found
Looking for waitpid
Looking for waitpid - not found.
Looking for wait3
Looking for wait3 - not found.
Looking for usleep
Looking for usleep - found
Looking for accept
Looking for accept - found
Looking for bind
Looking for bind - found
Looking for getsockname
Looking for getsockname - found
Looking for getsockopt
Looking for getsockopt - found
Looking for setsockopt
Looking for setsockopt - found
Looking for socket
Looking for socket - found
Looking for listen
Looking for listen - found
Looking for std::vfprintf
Looking for std::vfprintf - found
Looking for std::vsnprintf
Looking for std::vsnprintf - found
Looking for _stricmp
Looking for _stricmp - found
Looking for socklen_t definition
Looking for socklen_t definition - not found.
Looking for gettimeofday
Looking for gettimeofday - found
Looking for connect
Looking for connect - found
Looking for mkstemp
Looking for mkstemp - not found.
Looking for mktemp
Looking for mktemp - found
Looking for select
Looking for select - found
Looking for strcasecmp
Looking for strcasecmp - found
Looking for strncasecmp
Looking for strncasecmp - found
Looking for strerror_r
Looking for strerror_r - not found.
Looking for std::ios_base::openmode definition
Looking for std::ios_base::openmode definition - not found.
Looking for pthread_rwlock_init
Looking for pthread_rwlock_init - found
Looking for uchar definition
Looking for uchar definition - not found.
Looking for ushort definition
Looking for ushort definition - not found.
Looking for uint definition
Looking for uint definition - not found.
Looking for ulong definition
Looking for ulong definition - not found.
Looking for longlong definition
Looking for longlong definition - not found.
Looking for ulonglong definition
Looking for ulonglong definition - not found.
Checking support for C++ type bool
Checking support for C++ type bool -- yes
Checking signedness of char
Checking signedness of char -- signed
Checking whether pthread_t is a pointer type
Checking whether pthread_t is a pointer type -- no
Checking whether typename works correctly
Checking whether typename works correctly -- yes
Checking whether ENAMETOOLONG is defined
Checking whether ENAMETOOLONG is defined -- yes
Checking whether strerror_r returns an int
Checking whether strerror_r returns an int -- no
Checking whether variable length arrays are supported
Checking whether variable length arrays are supported -- yes
Checking whether std::ios::nocreate exists
Checking whether std::ios::nocreate exists -- no
Looking for pthread_key_create in pthread
Looking for pthread_key_create in pthread - found
Looking for sem_init in rt
Looking for sem_init in rt - not found
Configuring done
- second point, voici la second configure (+ Generate) de CMake
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
Info: DCMTK XML support will be enabled
Info: DCMTK PNG support will be enabled
Info: DCMTK TIFF support will be enabled
Info: DCMTK OPENSSL support will be enabled
Info: DCMTK ZLIB support will be enabled
Info: DCMTK's builtin private dictionary support will be disabled
Info: Thread support will be disabled
Configuring done
Generating done
- et voici après compilation sous CodeBlock le :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
 
||=== DCMTK, all ===|
||Warning: .drectve `-defaultlib:LIBCMT ' unrecognized|
||Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized|
||Warning: .drectve `-defaultlib:LIBCMT ' unrecognized|
||Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized|
||Warning: .drectve `-defaultlib:LIBCMT ' unrecognized|
||Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized|
||Warning: .drectve `-defaultlib:LIBCMT ' unrecognized|
||Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized|
||Warning: .drectve `-defaultlib:LIBCMT ' unrecognized|
||Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized|
||Warning: .drectve `-defaultlib:LIBCMT ' unrecognized|
||Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized|
||Warning: .drectve `-defaultlib:LIBCMT ' unrecognized|
||Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized|
||Warning: .drectve `-defaultlib:LIBCMT ' unrecognized|
||Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized|
||Warning: .drectve `-defaultlib:LIBCMT ' unrecognized|
||Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized|
||Warning: .drectve `-defaultlib:LIBCMT ' unrecognized|
||Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized|
||Warning: .drectve `-defaultlib:LIBCMT ' unrecognized|
||Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized|
||Warning: .drectve `-defaultlib:LIBCMT ' unrecognized|
||Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized|
||Warning: .drectve `-defaultlib:LIBCMT ' unrecognized|
||Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized|
||Warning: .drectve `-defaultlib:LIBCMT ' unrecognized|
||Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized|
||Warning: .drectve `-defaultlib:uuid.lib ' unrecognized|
||Warning: .drectve `-defaultlib:uuid.lib ' unrecognized|
||Warning: .drectve `-defaultlib:LIBCMT ' unrecognized|
||Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized|
||Warning: .drectve `-defaultlib:LIBCMT ' unrecognized|
||Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized|
||Warning: .drectve `-defaultlib:LIBCMT ' unrecognized|
||Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized|
||Warning: .drectve `-defaultlib:LIBCMT ' unrecognized|
||Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized|
||Warning: .drectve `-defaultlib:LIBCMT ' unrecognized|
||Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized|
||Warning: .drectve `-defaultlib:LIBCMT ' unrecognized|
||Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized|
||Warning: .drectve `-defaultlib:LIBCMT ' unrecognized|
||Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized|
CMakeFiles\xml2dcm.dir\objects.a(xml2dcm.obj)xml2dcm.cc|| undefined reference to `_imp__xmlFree'|
CMakeFiles\xml2dcm.dir\objects.a(xml2dcm.obj)xml2dcm.cc|| undefined reference to `_imp__xmlFree'|
CMakeFiles\xml2dcm.dir\objects.a(xml2dcm.obj)xml2dcm.cc|| undefined reference to `_imp__xmlFree'|
CMakeFiles\xml2dcm.dir\objects.a(xml2dcm.obj)xml2dcm.cc|| undefined reference to `_imp__xmlFree'|
CMakeFiles\xml2dcm.dir\objects.a(xml2dcm.obj)xml2dcm.cc|| undefined reference to `_imp__xmlFree'|
CMakeFiles\xml2dcm.dir\objects.a(xml2dcm.obj)xml2dcm.cc|| more undefined references to `_imp__xmlFree' follow|
..\valid.c:(.text[_xmlValidBuildContentModel]+0x6)||undefined reference to `_chkstk'|
..\valid.c:(.text[_xmlValidateElementContent]+0x6)||undefined reference to `_chkstk'|
..\debugXML.c:(.text[_xmlDebugDumpElemDecl]+0x6)||undefined reference to `_chkstk'|
iconv.c:(.text[_libiconvlist]+0x9)||undefined reference to `_chkstk'|
||=== Build finished: 10 errors, 44 warnings (4 minutes, 19 seconds) ==
Je tiens à préciser que j'ai cherché pas mal de temps pour cette erreur, après j'avoue être un peu une noob à ce sujet, sans parler du fait que je ne suis pas à l'aise avec la configuration en générale ...


Du coup sachant que DCMTK est dev sur Linux, j'ai installé Cygwin pour tester (j'ai un linux sur le pc du travail, mais sans les droits ... hyper pratique ==', et je n'ai jamais pris le temps de mettre en dual mon pc personnel ... ). Je suis l'installation de DCMTK et au moment de la stape 2 "make all", il m'indique
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
MAKE Version 5.2  Copyright (c) 1987, 2000 Borland
Fatal: 'config-all' does not exist - don't know how to make it
je regarde dans le dossier config et en effet je n'ai rien de tel. Là aussi j'ai cherché un moment mais je n'ai pas la réponse sur le pourquoi ...

Du coup si vous avez des idées, que ce soit sous windows, linux je suis preneuse Sinon je suis aussi ouverte à toute autre(s) alternative(s) au DCMTK (avec les contraites du début, cpp open source multiplateforme).

Merci à ceux ayant eu le courage de me lire ^^