Compilation openldap, lib static
Fermé
ydel
-
Modifié par jipicy le 7/05/2010 à 10:42
mamiemando Messages postés 33352 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 12 novembre 2024 - 7 mai 2010 à 20:19
mamiemando Messages postés 33352 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 12 novembre 2024 - 7 mai 2010 à 20:19
A voir également:
- Compilation openldap, lib static
- Breach compilation - Guide
- Comment faire une compilation de musique - Forum Audio
- Openldap err=49 - Forum Logiciels
- Erreur de compilation projet ou bibliothèque introuvable ✓ - Forum VB / VBA
- Erreur de compilation dans le module caché - Forum Logiciels
1 réponse
mamiemando
Messages postés
33352
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
12 novembre 2024
7 803
Modifié par mamiemando le 7/05/2010 à 20:24
Modifié par mamiemando le 7/05/2010 à 20:24
Il faudrait que tu regardes dans le Makefile si quelque chose a été prévu pour compiler en static. Ce ne sont pas les mêmes options de compilation. Voici un extrait d'un makefile que j'ai charcuté pour que tu aies le concept :
Soit dit en passant c'est un besoin un peu surprenant de compiler openldap soi-même quand on peut l'avoir directement compilé via un paquet.
Et c'est encore plus surprenant de vouloir le compiler en .a au lieu d'utiliser un .so et donc de ne pas bénéficier des avantages fournis par un .so (tirer parti des mises à jour dudit .so...), surtout qu'openldap ne me paraît pas compliqué à installer.
Si le but est d'injecter openldap dans une application et de rendre cette application standalone, assure-toi que tu restes en règle avec la licence d'openldap :
https://www.openldap.org/software/release/license.html
NAME = libplop # à corriger par le nom de ta librairie LIB_A = $(NAME).a LIB_SO = $(NAME).so CXX = g++ AR = ar RANLIB = ranlib SYSLIBS = BUILD_DIR = # /le/repertoire/ou/tu/construis/la/librairie BUILD_LIB_OBJS = # les .o CXXFLAGS = -W -Wall -O2 -fPIC -funroll-loops CPPFLAGS = # Flags commun en C et en C++ LDLIBS = # libs nécessaires au .so (par exemple -lm...) LDFLAGS = -time #+ options -L... et -Wl,R... si besoin LINK.cpp = $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) $(CXX_LDFLAGS) $(BUILD_DIR)/$(LIB_A): $(BUILD_LIB_OBJS) $(AR) -cr $@ $(BUILD_LIB_OBJS) $(RANLIB) $@ $(BUILD_DIR)/$(LIB_SO): $(BUILD_LIB_OBJS) $(LINK.cpp) -shared -o $@ $(BUILD_LIB_OBJS) $(LDLIBS) $(SYSLIBS)
Soit dit en passant c'est un besoin un peu surprenant de compiler openldap soi-même quand on peut l'avoir directement compilé via un paquet.
Et c'est encore plus surprenant de vouloir le compiler en .a au lieu d'utiliser un .so et donc de ne pas bénéficier des avantages fournis par un .so (tirer parti des mises à jour dudit .so...), surtout qu'openldap ne me paraît pas compliqué à installer.
Si le but est d'injecter openldap dans une application et de rendre cette application standalone, assure-toi que tu restes en règle avec la licence d'openldap :
https://www.openldap.org/software/release/license.html