web-dev-qa-db-fra.com

Bien que j'installe la bibliothèque GSL, g ++ ne peut pas compiler mon code

Afin d'utiliser la bibliothèque gnu gsl, je l'ai installée avec la commande suivante:

Sudo apt-get install libgsl0ldbl

Quand j’écris un simple code c ++ juste pour vérifier si je l’ai installé correctement ou non, g ++ dit que

erreur fatale: gsl/gsl_vector.h: aucun fichier ou répertoire de ce type

Mon code peut être vu ci-dessous:

#include <iostream>
#include <gsl/gsl_vector.h>
#include <gsl/gsl_statistics.h>
using namespace std;
int main()
{
return 0;
}

quelle pourrait être la raison? Merci d'avance. [J'essaie de l'exécuter sur Ubuntu 14.04 64-Bit]

edit J'ai essayé de le compiler avec la commande suivante

g ++ test.cpp

6
stackunderflow

Il existe un certain nombre de paquets libgsl, comme le montre un apt-cache search:

$ apt-cache search libgsl
libgsl0-dbg - GNU Scientific Library (GSL) -- debug symbols package
libgsl0-dev - GNU Scientific Library (GSL) -- development package
libgsl0ldbl - GNU Scientific Library (GSL) -- library package
libocamlgsl-ocaml - GNU scientific library for OCaml
libocamlgsl-ocaml-dev - GNU scientific library for OCaml

apt-cache show libgsl0ldbl inclut la description plus en détail

 This package provides the shared libraries required to run programs
 compiled with GNU GSL. To compile your own programs you also need to
 install libgsl0-dev.

alors que apt-cache show libgsl0-dev a

 This package contains the header files, static libraries and symbolic
 links that developers using GNU GSL will need.

dans ce cas, vous devez installer libgsl0-dev

Sudo apt-get install libgsl0-dev

Ceci est une distinction assez commune dans le système de packaging Ubuntu/Debian: il existe généralement un paquet "runtime" et un paquet "développement" indiqué par un suffixe -dev. Le paquetage -dev est celui à rechercher lors de la construction de logiciels à partir des sources. Il installera le paquet d'exécution en tant que dépendance si nécessaire.

10
steeldriver