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

问题描述 投票:0回答:3

我在安装 GNU 科学库 (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;
}

我感觉这个问题可能是因为我把包放在了桌面上,所以“make”命令生成的二进制代码就放在那里,这是错误的。 那么,我的猜测正确吗?如果是的话,我应该把它们放在哪里?如果不是,我该怎么办? 谢谢。

c linux installation gsl
3个回答
12
投票

假设

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


3
投票

使用

pkg-config --libs gsl
找出必要的链接器是什么,然后将它们链接起来。一个可选的事情是检查
pkg-config --cflags gsl
。第二个为您提供包含文件的目录(如果它们未安装在默认的
/usr/include/
目录中)。如果你在那里安装了它,你可以忽略它。
pkg-config --libs gsl
的输出将是
-lgsl -lgslcblas -lm

这意味着这三者必须联系起来。因此,在编译程序时,您可以这样做,
gcc name.c -lgsl -lgslcblas -lm


0
投票

Ubuntu 下的类似问题,最后,对于开发者:

sudo apt install libgsl-dev

用于生产:

sudo apt install libgsl27

我使用这个对我有帮助的tuto进行了测试。
对于法国人...请查看 page gsl sur la doc.ubuntu-fr.org

© www.soinside.com 2019 - 2024. All rights reserved.