Comment ajouter un lien vers une bibliothèque dans autoconf configure script / makefile
Je suis un autotools newb
et j'ai des difficultés à comprendre howto facilement
lien une bibliothèque spécifique dans l'un des configuré cibles.
J'ai un paquet source que je veux construire de la manière habituelle:
./configure && make && make install
Malheureusement, l'un des cpp a un manque de référence à une autre bibliothèque.
Pour le compiler à la main (réglage de la ligne de commande). Mais je préfère
"patch" de la compilation du script.
Où est la norme endroit pour modifier la liaison des références?
undefined reference to `boost::system::get_system_category()
C'est mon message d'erreur btw.
source d'informationauteur AndreasT
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin d'augmenter le
-l
drapeau àAM_LDFLAGS
dansMakefile.am
; par exemple:Noter que les bibliothèques Boost généralement fin à un suffixe—une séquence de lettres qui indique la configuration de build. Dans l'exemple ci-dessus, le suffixe est
-mt
. Cela pourrait être différent dans votre installation (si le-mt
variante est généralement disponible sur POSIXy systèmes, IME).- Je faire quelque chose comme ceci:
BOOST_LIB_SUFFIX
est un précieux variable (voirAC_ARG_VAR
), qui est par défaut à-mt
.Utilisation
ax_cxx_check_lib.m4
parce que boost_system n'a pas de extern "C" symboles (unmangled noms) qui peut être vérifié avecAC_CHECK_LIB
:http://ac-archive.sourceforge.net/guidod/ax_cxx_check_lib.m4
Télécharger le fichier ci-dessus et le nom qu'il
acinclude.m4
et le mettre dans lem4
votre dossier racine du projet.Dans
configure.ac
:Dans
Makefile.am
: