web-dev-qa-db-ja.com

GSLライブラリをインストールしますが、g ++はコードをコンパイルできません

Gnu gslライブラリを使用するには、次のコマンドでインストールしました。

Sudo apt-get install libgsl0ldbl

正しくインストールしたかどうかを確認するためだけに単純なC++コードを作成すると、g ++は

致命的なエラー:gsl/gsl_vector.h:そのようなファイルまたはディレクトリはありません

私のコードは以下に見ることができます:

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

理由は何ですか?前もって感謝します。 [ubuntu 14.04 64ビットで実行しようとしています]

編集次のコマンドでコンパイルしようとしました

g ++ test.cpp

6
stackunderflow

apt-cache searchで示されるように、いくつかのlibgslパッケージがあります。

$ 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に説明が含まれています

 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.

一方、apt-cache show libgsl0-dev

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

この場合、libgsl0-devをインストールする必要があります

Sudo apt-get install libgsl0-dev

これは、Ubuntu/Debianパッケージングシステムでは非常に一般的な違いです。通常、「ランタイム」パッケージと、-dev接尾辞で示される「開発」パッケージがあります。 -devパッケージは、ソースからソフトウェアをビルドするときに探すパッケージです。必要に応じて、ランタイムパッケージを依存関係としてインストールします。

10
steeldriver