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
- 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
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
- 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 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
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 ...
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) ==
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
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 ...
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
Du coup si vous avez des idées, que ce soit sous windows, linux je suis preneuseSinon 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 ^^
Partager