Re: lignes d'un fichier en C ou C++

トップ ページ

このメッセージに返信
著者: Frédéric
日付:  
To: Guilde
題目: Re: lignes d'un fichier en C ou C++
Le 04/04/2018, anne.guilde@??? a écrit :

> Ce que l'on m'a dit
> certaine librairie statique sont fournies dans les paquets -dev. Et
> quand on les utilise cela veut dire que les fonctions nécessaires au
> programmes sont extraites de l'archive (.a) et incluses dans le
> programme. Pour cela il faut passer le drapeau -static à gcc (dans ce
> cas tous les lib nécessaires sont compilés en statiques).
>
> Pour faire une archive .a, on compile chaque fonction séparément pour
> faire des .o, puis on met toutes ces fonctions dans l'archive à l'aide
> de du programme « ar ».


C'est tout à fait ça. À la différence du .so, le .a fait partie intégrante
du programme linké avec.

> J'ai trouvé cela
> http://taglib.org/
>
> Si quelqu'un a une idée pour faire le libtag.a


Ce que je ferais, plutôt, c'est récupérer les sources du paquet debian :

$ apt source libtag1-dev

puis modifier le fichier debian/rules pour qu'il compile la librairie
statique. Ensuite, tu re-construis les paquets debian (il va en fait
plusieurs, donc le -dev), et tu installes juste le -dev.

À vue de pif, il faudrait modifier ceci dans debian/rules :

override_dh_auto_configure:
        dh_auto_configure $(DH_AUTO_ARGS) -- \
                -DCMAKE_USE_RELATIVE_PATHS=ON -DWITH_ASF=ON -DWITH_MP4=ON \
                -DLIB_INSTALL_DIR:PATH=/usr/lib/$(DEB_HOST_MULTIARCH) \
                -DBUILD_SHARED_LIBS=ON


en ajoutant -DBUILD_STATIC_LIBS=ON

Je teste pour voir...

-- 
    Frédéric