2017-01-03 1 views
0

J'ai suivi les instructions de Russes trouvent à http://forum.dcmtk.org/viewtopic.php?f=3&t=3047&start=15Comment créer des bibliothèques DCMTK 3.6.1 pour iOS?

Avec une nouvelle copie de sa branche git « AFAB », j'ai construit projet Xcode pour arc x86 avec la ligne de commande:

cmake -DIOS_PLATFORM=SIMULATOR64 -G Xcode ../dcmtk.public 

ou arc de bras avec :

cmake -DIOS_PLATFORM=OS -G Xcode ../dcmtk.public 

Cependant, mon projet Xcode ne peut pas être construit avec succès en raison de, au moins, les erreurs suivantes: List of Xcode errors on ofchrenc.cc file (for eg. "No class named Implementation in OFCharacterEncoding")

La compilation avec makefiles Unix donne les mêmes erreurs dans mon cas:

Scanning dependencies of target ofstd

0% Building CXX object ofstd/libsrc/CMakeFiles/ofstd.dir/ofchrenc.cc.o

dcmtk.public/ofstd/libsrc/ofchrenc.cc:518:28: error: no class named 'Implementation' in 'OFCharacterEncoding' class OFCharacterEncoding::Implementation {};

dcmtk.public/ofstd/libsrc/ofchrenc.cc:556:31: error: out-of-line definition of 'getLocaleEncoding' does not match any declaration in 'OFCharacterEncoding' OFString OFCharacterEncoding::getLocaleEncoding()

/usr/local/include/dcmtk/ofstd/ofchrenc.h:97:21: note: member declaration does not match because it is const qualified const OFString &getLocaleEncoding() const;

[...] dcmtk.public/ofstd/libsrc/ofchrenc.cc:644:34: error: out-of-line definition of 'setConversionFlags' does not match any declaration in 'OFCharacterEncoding' OFCondition OFCharacterEncoding::setConversionFlags(const unsigned flags)

19 errors generated.

make 2: ofstd/libsrc/CMakeFiles/ofstd.dir/ofchrenc.cc.o Error 1

make 1: ofstd/libsrc/CMakeFiles/ofstd.dir/all Error 2

make: [all] Error 2

Je ne comprends pas ce qui ne va pas dans ma configuration:

  • MacOs Sierra 10.12.2

  • Xcode 8.2

  • CMake 3.7.1 (J'ai déjà eu le même problème avec 3.5.2 Version)

  • GNU Make 3,81 (pour Unix makefiles compilation)

  • d'Apple LLVM Version 8.0.0.8000042

  • Darwin version de l'hôte: 16.3.0

  • bâtiment pour la version minimum iOS : 10.2 (version SDK: 10.2)

Répondre

0

Je ne suis pas sûr du premier message d'erreur mais

/usr/local/include/dcmtk/ofstd/ofchrenc.h:97:21: note: member declaration does not match because it is const qualified const OFString &getLocaleEncoding() const;

semble indiquer que vous mixez une ancienne version de "ofchrenc.h" (stocké dans "/ usr/local/...") avec une version plus récente de "ofchrenc.cc" (stockée dans votre répertoire de travail).

+0

Très bien trouvé! Il semble que j'avais une ancienne version DCMTK installée avec le brasseur il y a longtemps ... Je l'ai désinstallé et maintenant ça marche! Merci encore pour votre aide, je ne comprends pas comment j'ai raté ça. –

+0

Je suis content que je puisse vous aider. Comme je suis l'un des principaux développeurs de DCMTK, il n'était pas si difficile de "voir" l'origine de l'erreur. Cependant, je n'ai personnellement aucune expérience avec la compilation du DCMTK pour iOS (ou tout autre système d'exploitation Apple). –