6

GNU Scientific Library(gsl)のインストール中に問題が発生しました。パッケージをデスクトップに置き、含まれているドキュメントに従って、「。/ configure」、「make」、および「sudomakeinstall」を実行しました。/ usr / local / includeディレクトリを確認しましたが、そこに新しく作成された「gsl」フォルダがあります。しかし、ライブラリが提供する関数を使用しようとすると、「'gsl_sf_beta_inc'への未定義の参照」エラーが発生しました。これが私のコードです。

#include <stdio.h>
#include <gsl/gsl_sf_gamma.h>

int main (void)
{
    double a = 20;
    double b = 1000;
    double x = 0.5;
    double result = gsl_sf_beta_inc(a, b, x);
    printf("%f/d", result);
    return 0;
}

パッケージをデスクトップに置いたことが原因かもしれないと感じたので、「make」コマンドで生成されたバイナリコードがそこに行きますが、これは間違いです。それで、私の推測は正しいですか?もしそうなら、どこに置くべきですか?そうでない場合は、どうすればよいですか?ありがとう。

4

2 に答える 2

12

が成功したと仮定して、ライブラリをリンクする必要がありますmake install

gsl のドキュメントには、これが機能するはずであると記載
されています (gsl が機能するために必要な 2 つのリンク オプション: "-lgsl -lgslcblas"):

gcc -I/usr/local/include -L/usr/local/lib main.c -o main -lgsl -lgslcblas -lm

gsl の cblas の代わりに別の「cblas」を使用することもできます

于 2011-08-11T23:04:06.677 に答える