2017-04-09 108 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