see*_*uch 4 c linux installation gsl
我在安装GNU Scientific Library(gsl)时遇到了问题.根据所包含的文件,我将软件包放在桌面上,然后执行"./configure","make"和"sudo make install".我检查了/ 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;
}
Run Code Online (Sandbox Code Playgroud)
我感觉问题可能是由于我把软件包放在桌面上的事实引起的,所以"make"命令生成的二进制代码就到了那里,这是错误的.那么,我猜是正确的吗?如果是的话,我应该把它们放在哪里?如果不是,我该怎么办?谢谢.
Vin*_*ura 11
假设make install成功,您需要链接库.
在GSL的文档说,这应该工作
(注意两个必要的连接选项,GSL的工作:"-lgsl -lgslcblas"):
gcc -I/usr/local/include -L/usr/local/lib main.c -o main -lgsl -lgslcblas -lm
Run Code Online (Sandbox Code Playgroud)
替代"cblas"而不是gsl的cblas也是可能的:gsl的替代cblas