我在安装 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;
}
我感觉到问题可能是由于我将包放在桌面上而引起的,因此“make”命令生成的二进制代码放在那里,这是错误的。
那么,我的猜测正确吗?如果是的话,我应该把它们放在哪里?如果不是,我该怎么办?
谢谢。
您需要链接库,假设make install
那是成功的。
The gsl 的文档 http://www.gnu.org/software/gsl/manual/html_node/Linking-programs-with-the-library.html#Linking-programs-with-the-library说这应该有效
(注意 gsl 工作的两个必要的链接选项:“-lgsl -lgslcblas”):
gcc -I/usr/local/include -L/usr/local/lib main.c -o main -lgsl -lgslcblas -lm
也可以使用替代的“cblas”代替 gsl 的 cblas:gsl 的替代 cbla http://www.gnu.org/software/gsl/manual/html_node/Linking-with-an-alternative-BLAS-library.html#Linking-with-an-alternative-BLAS-library
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)