2017-04-09 185 views
0

我想在Windows 10上使用GSL。在cygwin中安装GSL包后,我无法在cygwin下找到安装gsl文件夹。该错误是这样的:GSL在cygwin,windows 10上安装在哪里?

$克++ bessel.cpp -lm -lgsl -o bessel.out -L/USR/bin中 bessel.cpp:1:32:致命错误:GSL/gsl_sf_bessel.h:没有这样的文件或目录 编译终止。

虽然我确实看到安装了GSL包:

enter image description here

我已经按照下面的链接一个小的测试.cpp文件。 Using GSL with cygwin g++

请帮我在GSL库安装在Windows 10

感谢,

回答

1

要知道文件的位置以及包是否安装。
检查至极包包含名称中

$ cygcheck -cd |grep gsl 
gsl          2.3-2 
gsl-apps        2.3-2 
gsl-devel        2.3-2 
gsl-doc         2.3-2 
libgsl-devel       2.3-2 
libgsl0         1.16-2 
libgsl19        2.3-2 

页眉和导入库编译在devel包“GSL”。
我们检查包状态:

$ cygcheck -c libgsl-devel 
Cygwin Package Information 
Package    Version  Status 
libgsl-devel   2.3-2   OK 

所以包correclti安装,而且没有文件丢失。 请确定包裹内容

$ cygcheck -l libgsl-devel 
/usr/bin/gsl-config 
/usr/include/gsl/gsl_blas.h 
/usr/include/gsl/gsl_blas_types.h 
/usr/include/gsl/gsl_block.h 
/usr/include/gsl/gsl_block_char.h 
/usr/include/gsl/gsl_block_complex_double.h 
/usr/include/gsl/gsl_block_complex_float.h 
/usr/include/gsl/gsl_block_complex_long_double.h 
/usr/include/gsl/gsl_block_double.h 
/usr/include/gsl/gsl_block_float.h 
/usr/include/gsl/gsl_block_int.h 
[cut] 
/usr/include/gsl/gsl_wavelet2d.h 
/usr/lib/libgsl.dll.a 
/usr/lib/libgslcblas.dll.a 
/usr/lib/pkgconfig/gsl.pc 
/usr/share/aclocal/gsl.m4 
/usr/share/info/gsl-ref.info-1.gz 
/usr/share/info/gsl-ref.info-2.gz 
/usr/share/info/gsl-ref.info-3.gz 
/usr/share/info/gsl-ref.info-4.gz 
/usr/share/info/gsl-ref.info-5.gz 
/usr/share/info/gsl-ref.info-6.gz 
/usr/share/info/gsl-ref.info.gz 
/usr/share/man/man1/gsl-config.1.gz 
/usr/share/man/man3/gsl.3.gz 
0

如果Cygwin的安装目录为C:\cygwin64,那么上述引用的头文件位于以下位置:

C:\cygwin64\usr\include\gsl\gsl_sf_bessel.h 

如果你没有看到它在那里,你可能需要从重装gsllibgsl-devel包你Cygwin安装程序。提供的Using GSL with cygwin g++页上的代码应编译罚款,只要你stdio.h头文件添加到源代码,如在页面上的答案:

#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; 
} 

假设该文件是bessel.cpp,它应该编译:

g++ bessel.cpp -lgsl 
+0

谢谢先生,您的快速回答。我检查了路径。发现C:\ cygwin64 \ usr \ include \下没有gsl文件夹。它看起来像用cygwin64安装GSL时有问题。如图所示,在安装时确实有一些gsl库选项被选中。用cygwin成功安装gsl有什么不对?我的意思是,它安装了gsl库,它的头文件应该在你显示的文件夹中,对吧? –

+0

@RobertWilliam - 您是否尝试在Cygwin上卸载/重新安装gsl软件包?我首先安装了gsl包(及其依赖项),但在该步骤中未安装标头。然后我安装了libgsl-devel,它们出现了。也许安装故障?或尝试与另一面镜子? (这可能是一个延伸...现在只是抛出想法。)让我知道是否有其他文件,您希望我在我的本地安装中为您查找。我有在Windows 10上运行的Cygwin的64位版本。 –

+1

作为更一般的答案,您可能还想指出,您可以通过搜索https://cygwin.com/packages/找到安装Cygwin软件包的位置。 – pak