Compilation openldap, lib static
Fermé
ydel
-
Modifié par jipicy le 7/05/2010 à 10:42
mamiemando Messages postés 33081 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 27 avril 2024 - 7 mai 2010 à 20:19
mamiemando Messages postés 33081 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 27 avril 2024 - 7 mai 2010 à 20:19
A voir également:
- Compilation openldap, lib static
- Compilation pdf - Guide
- Breach compilation - Guide
- Static xx - Forum Facebook
- Erreur de compilation projet ou bibliothèque introuvable ✓ - Forum VB / VBA
- Error 2002 (hy000): can't connect to local mysql server through socket '/var/lib/mysql/mysql.sock' (2) ✓ - Forum Linux / Unix
1 réponse
mamiemando
Messages postés
33081
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
27 avril 2024
7 749
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