je devais faire régulièrement, procédez comme suit:
- Sur le serveur, créez un répertoire dans votre répertoire pour installer la bibliothèque (disons
mypref
) et un autre à Construire la bibliothèque (disons tmp
). Vous avez deux nouveaux répertoires: ~/mypref
et ~/tmp
.
- Télécharger les sources GSL
~/tmp
(dernière version est ftp://ftp.gnu.org/gnu/gsl/gsl-1.14.tar.gz), extrait et aller dans le produit sous-répertoire (gsl-1.14
):
cd ~/tmp
wget ftp://ftp.gnu.org/gnu/gsl/gsl-1.14.tar.gz
tar -xvzf gsl-1.14.tar.gz
cd gsl-1.14
- Lancez le script
configure
en spécifiant ~/mypref
comme préfixe d'installation (et peut-être d'autres options en fonction de votre serveur):
./configure --prefix=${HOME}/mypref
make
make install
- Maintenant, vous pouvez supprimer en toute sécurité le répertoire
~/tmp
:
cd; rm -rf tmp
Maintenant, vous pouvez compiler votre programme en utilisant:
g++ -o program main.cpp classOne.cpp classTwo.cpp -I${HOME}/mypref/include -lm -L${HOME}/mypref/lib -lgsl -lgslcblas
-I
et -L
indiquent respectivement le chemin des en-têtes et de la bibliothèque. Si votre programme est destiné à être exécuté dans un contexte où votre répertoire personnel n'est pas visible, envisager la liaison statique:
g++ -o program main.cpp classOne.cpp classTwo.cpp ${HOME}/mypref/lib/libgsl.a ${HOME}/mypref/lib/libgslcblas.a -I${HOME}/mypref/include -lm
Le binaire produit par la dernière commande est plus grande que précédemment, mais entièrement indépendant de GSL et GSLCBLAS.
Installez-le dans votre répertoire personnel et indiquez les chemins de liaison appropriés.Est-ce que ce n'est pas non plus une option? – DumbCoder
@DumbCoder est juste, ma réponse est une procédure détaillée comment faire cela, vous pouvez installer beaucoup d'autres bibliothèques que vous pourriez avoir besoin comme ça. –