将GSL与cygwin g++;

将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 我还尝试安装非

试图让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

我还尝试安装非默认的“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;
 }