A voir également:
- Compilation openldap, lib static
- Breach compilation c'est quoi - Guide
- Impossible de verrouiller le répertoire /var/lib/apt/lists/ ✓ - Forum Linux / Unix
- Error 2002 (hy000): can't connect to local mysql server through socket '/var/lib/mysql/mysql.sock' (2) ✓ - Forum Linux / Unix
- Erreur de compilation projet ou bibliothèque introuvable ✓ - Forum Excel
- Message excel projet ou bibliothèque introuvable ✓ - Forum Excel
1 réponse
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