将GSL与cygwin g++;
试图让Gnu科学库(gsl)在cygwin g++中工作 Cygwin使用所有默认参数进行安装和更新,包括gsl:runtime、gsl apps和gsl doc。我正在尝试gsl网站上给出的示例程序: 包括将GSL与cygwin g++;,cygwin,g++,Cygwin,G++,试图让Gnu科学库(gsl)在cygwin g++中工作 Cygwin使用所有默认参数进行安装和更新,包括gsl:runtime、gsl apps和gsl doc。我正在尝试gsl网站上给出的示例程序: 包括 #包括 int 主(空) { 双x=5.0; 双y=gsl\u sf\u bessel\u J0(x); printf(“J0(%g)=%.18e\n”,x,y); 返回0; } 有没有人能给我一个实际使用g++的上述程序的版本?此默认安装中找不到头文件。如何访问dll 我还尝试安装非
#包括
int
主(空)
{
双x=5.0;
双y=gsl\u sf\u bessel\u J0(x);
printf(“J0(%g)=%.18e\n”,x,y);
返回0;
}
有没有人能给我一个实际使用g++的上述程序的版本?此默认安装中找不到头文件。如何访问dll
我还尝试安装非默认的“gsd-devel”(开发工具),这使我能够访问头文件,但当我编译时,我得到了“对“gsl\uu sf\u bessel\u J0”的未定义引用,即使找到了头文件
非常感谢您的帮助 我也是CygWin&GSL的新手,经过一些研究,我认为答案在于所需的库没有链接。GSL附带了一个聪明的小工具,名为
GSL config
。您可以使用它来获取到库的链接信息。因此,在您的情况下,代码:
#include <gsl/gsl_sf_bessel.h>
#include <stdio.h>
int
main (void)
{
double x = 5.0;
double y = gsl_sf_bessel_J0 (x);
printf ("J0(%g) = %.18e\n", x, y);
return 0;
}
#包括
#包括
int
主(空)
{
双x=5.0;
双y=gsl\u sf\u bessel\u J0(x);
printf(“J0(%g)=%.18e\n”,x,y);
返回0;
}
可以使用g++bessel.cpp-lm-lgsl-o bessel.out-L/usr/bin
编译,其中-lm-lgsl-L/usr/bin
位是键入gsl config--lib而不使用cblas的输出。使用/bessel.out
进行测试
希望这有帮助,T
#include <gsl/gsl_sf_bessel.h>
#include <stdio.h>
int
main (void)
{
double x = 5.0;
double y = gsl_sf_bessel_J0 (x);
printf ("J0(%g) = %.18e\n", x, y);
return 0;
}