Libzippp build : libz.so missing

Résolu
Bonjour,

je cherche à installer libzippp sur mon mac (lien --> https://github.com/ctabin/libzippp) pour l'utiliser sur un programme en c++, cependant, lors du
make libraries
, le build s'arrête à 87% en me disant
No rule to make target `/Users/user/Downloads/libzippp-master/lib/zlib-1.2.11/libz.so', needed by `lib/libzip.5.0.dylib'.  Stop.


Il manque effectivement zlib.so, comment y remédier ?

Merci d'avance !

NB: libz est dûment installée par la commande
sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

Configuration: Macintosh / Firefox 68.0
que j'ai déjà lancée...

2 réponses

  1. Modérateur
    Bonjour,

    Sous linux, on installerait le paquet de développement associé. Par exemple sous debian / ubuntu

    sudo apt update
    sudo apt install zlib1g-dev


    À voir si sous macOS, tu as le même genre de paquet offert par
    port
    ou
    brew
    . Voir cette discussion pour plus de détails (désolé, je ne connais pas trop macOS).

    Bonne chance
    1. Bonjour,
      zlib est déjà installé par défaut sur macos, mais fournit des .dylib et non des .so... Or pour compiler libzippp, on demande un .so
    2. Modérateur
      Bizarre. D'autant que dans un
      Makefile
      on ne précise pas l'extension d'une librairie (par exemple pour linker avec
      /usr/lib/libplop.so
      , l'option de compilation serait
      -lplop
      ). C'est d'ailleurs ce qu'on voit ici.

      Essaye de reconstruire le
      Makefile
      à partir de
      cmake
      . Dans le répertoire qui contient
      CMakeLists.txt
      :

      cmake .
      make


      ... et reporte-nous les éventuels messages d'erreur.

      Bonne chance
    3. Aucun message d'erreur, mon problème venait de mon incompétence (ayant pris l'habitude avec macos de linker des librairies en .dylib, il ne m'est même pas venu à l'esprit de linker la liblibzippp.a compilée par le make)...
      Merci beaucoup !
    4. Modérateur
      Ok n'hésite pas à reporter la procédure complète, ça pourrait aider les personnes qui tombent sur cette discussion. Bonne continuation !
  2. [EDIT] Le sujet étant résolu, voici la procédure qui a fonctionné pour moi :

    1.Télécharger libzippp -> https://github.com/ctabin/libzippp et décompresser le zip
    2.
    cd libzippp && mkdir build

    3.
    cd build && cmake ..

    4.
    make


    Pas besoin du
    make libraries
    pour moi car tout était déjà 'set'

    linker liblibzippp.a à xcode (ne pas oublier de mettre le /path/to/liblibzippp.a dans Library search path si ce n'est pas fait automatiquement) et normalement tout est bon !
    1. Modérateur
      Merci d'avoir pris le temps de reporter ces indications, bonne continuation :-)