Eu tenho um problema ao incluir a biblioteca gnu em um script c ++:
#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;
}
Após a execução no shell:
g++ -lgsl -lgslcblas -lm -o prova prova.cpp
Eu recebo:
/tmp/cc4EUwzZ.o: In function 'main':
prova.cpp:(.text+0x23): undefined reference to 'gsl_sf_bessel_J0'
collect2: error: ld returned 1 exit status
Eu também recebo a mesma saída se eu digitar:
g++ -o prova prova.cpp
ou
g++ -Wall -I/usr/include/gsl -lgsl -o prova prova.cpp
Parece que não estou ligando a biblioteca corretamente.
Se eu digitar
pkg-config --cflags gsl
Eu obtenho
-I/usr/local/include
Como posso corrigir isso?