[Dcmlib] GDCM compilé en static

jean-michel.rouet at philips.com jean-michel.rouet at philips.com
Mon Feb 28 15:39:40 CET 2005


On 24/02/2005 11:45:13 Jean-Michel Rouet wrote:
>On 24/02/2005 11:42:04 jean-michel.rouet+FromInterNet wrote:
>>Bonjour, 
>>
>>J'essaye d'utiliser gdcm en tant que librairie statique (sous windows). 
>>Dans cmake je fais "BUILD_SHARED_LIBS: OFF" 
>>et gdmc compile sans probleme... 
>>
>>
>>et bien impossible de le linker... j'ai essayé tout plein d'options, 
mais rien 
>>n'y fait ! 
>>je comprends pas.
>>
>>Quelqu'un peut me depanner ? 
>>

Bon j'ai trouvé la réponse:

dans le CMakeLists.txt du repertoire src/gdcmjpeg, y'a bien
IF (WIN32)
  IF (BUILD_SHARED_LIBS)
    ADD_DEFINITIONS(-DJPEGDLL)
  ELSE (BUILD_SHARED_LIBS)
    ADD_DEFINITIONS(-DJPEGSTATIC)
  ENDIF (BUILD_SHARED_LIBS)
ENDIF (WIN32)

ce qui fait que le JPEGSTATIC est defini correctement, et donc que les 
fonctions de la libjpeg sont exportées SANS "__declspec(dllexport)", ce 
qui est correct.
maintenant dans le CMakeLists.txt du repertoire src/gdcm, il n'y a pas le 
petit test précédent, donc les extern sont appelés AVEC 
"__declspec(dllimport)" meme si on link en static !!!! (La definition est 
faite dans le jmorecfg.h.in)

d'ou le gros probleme de link que je mentionnait...
c'est etonnant que personne ne l'ai encore remarqué cela dit.
Le dashboard ne test jamais les link static... Mathieu devrait peut etre 
rajouter cette possibilités.


Sinon j'en profite pour réitérer la demande suivante:

>>Est-ce qu'il serait possible d'avoir un fichier cmake du genre 
UseGDCM.cmake 
>>pour qu'on puisse facilement integrer GDCM dans un autre projet ? 
>>ca faciliterait la tache grandement ! 
>>

JM
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.creatis.insa-lyon.fr/pipermail/dcmlib/attachments/20050228/ff777523/attachment.html>


More information about the Dcmlib mailing list