1

AC コードで gsl ライブラリを使用しています。すべてうまくいきますが、コマンド gsl_linalg_cholesky_invert を使用すると、ターミナルに次のメッセージが表示されます。

Undefined symbols for architecture x86_64:"_gsl_linalg_cholesky_invert", referenced from:
  _main in cc4eefuQ.o
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status

コード例は次のとおりです。

#include <stdio.h>
#include <gsl/gsl_math.h>
#include <gsl/gsl_linalg.h>
#include <math.h>

void main()
{
gsl_matrix * A      = gsl_matrix_calloc (2,2);

gsl_matrix_set(A,0,0,1);
gsl_matrix_set(A,0,1,0.5);
gsl_matrix_set(A,1,0,0.5);
gsl_matrix_set(A,1,1,1);
gsl_linalg_cholesky_decomp(A);
gsl_linalg_cholesky_invert(A);
}

行をコメントアウトするとgsl_linalg_cholesky_invert(A);、すべてうまくいきます。

次のコマンドでコードをコンパイルします。

gcc-mp-4.7 wrapnorm.c -o wrapnorm -lgsl -l gslcblas -lm

マウンテン ライオンと gsl バージョン 1.9 を搭載した MacBook Pro を使用。

ありがとう

4

0 に答える 0