GSL 库问题

GSL 库问题

在 C++ 脚本中包含 GNU 库时遇到问题:

#include <stdio.h>
#include <gsl/gsl_math.h>
#include <gsl/gsl_sf_bessel.h>

int main (void)
{
    double x = 5.0;
    double y = gsl_sf_bessel_J0 (x);
    printf ("J0(%g) = %.18e\n", x, y);
    return 0;
}

在shell中运行后:

g++ -lgsl -lgslcblas -lm -o prova prova.cpp

我得到:

/tmp/cc4EUwzZ.o: In function `main':
prova.cpp:(.text+0x23): undefined reference to `gsl_sf_bessel_J0'
collect2: error: ld returned 1 exit status

如果我输入以下内容,也会得到相同的输出:

g++ -o prova prova.cpp

或者

g++ -Wall -I/usr/include/gsl -lgsl -o prova prova.cpp

看来我没有正确链接该库。

如果我输入

pkg-config --cflags gsl

我明白了

-I/usr/local/include

我怎样才能解决这个问题?

相关内容