如何在Linux中正确安装gsl库?

安装GNU科学图书馆(gsl)时,我遇到了一个问题。 我把这个软件包放在我的桌面上,并根据包含的文件做了“./configure”,“make”和“sudo make install”。 我检查了/ usr / local / include目录,在那里有一个新创build的“gsl”文件夹。 但是,当我试图使用库提供的function,“未定义的参考”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”命令生成的二进制代码就是这样,这是错误的。 那么,我的猜测是正确的吗? 如果是这样,我应该把它放在哪里? 如果不是,我该怎么办? 谢谢。

Solutions Collecting From Web of "如何在Linux中正确安装gsl库?"

假设make install成功,您需要链接库。

gsl的文件说这应该工作
(注意gsl的两个必要链接选项:“-lgsl -lgslcblas”):

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

替代“cblas”而不是gsl的cblas也是可能的: gsl的替代cblas

使用pkg-config --libs gsl来找出必要的连接器是什么,然后把它们连接起来。 可选的事情是检查pkg-config --cflags gsl 。 如果它们没有安装在默认的/usr/include/目录下,第二个会给你包含文件的目录。 如果你已经安装了它,你可以忽略它。
pkg-config --libs gsl的输出pkg-config --libs gsl会是
-lgsl -lgslcblas -lm
这意味着这三者必须联系起来。 所以在编译程序的时候,
gcc name.c -lgsl -lgslcblas -lm