2017-04-09 2 views
0

Ich möchte GSL unter Windows 10 verwenden. Nachdem ich GSL-Pakete in Cygwin installiert habe, kann ich den Installations-GSL-Ordner unter Cygwin nicht finden. Der Fehler ist wie folgt aus:Wo ist GSL auf Cygwin, Windows 10 installiert?

$ g ++ bessel.cpp -Im -lgsl -o bessel.out -L/usr/bin bessel.cpp: 1: 32: fataler Fehler: GSL/gsl_sf_bessel.h: No such Datei oder Verzeichnis Kompilierung beendet.

obwohl ich die GSL-Pakete tun sehen installiert:

enter image description here

Ich habe unter Link auf einer kleinen Test CPP-Datei gefolgt. Using GSL with cygwin g++

Bitte helfen Sie mir auf GSL Bibliothek Setup in Windows 10.

Danke,

Antwort

1

Zu wissen, wo die Dateien sind und ob das Paket installiert ist.
prüfen Wich Paket enthält „GSL“ im Namen

$ 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 

Die Header und Importbibliotheken für die Kompilierung in Entwick-Pakete sind.
Wir prüfen den Paketstatus:

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

So ist das Paket correclti installiert und keine Dateien fehlen. Liste der Paketinhalt

$ 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

Wenn das Installationsverzeichnis für Cygwin C:\cygwin64 ist, dann ist die Header-Datei, die Sie oben Referenz an der folgenden Position:

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

Wenn Sie es nicht dort sehen, müssen Sie möglicherweise die gsl und libgsl-devel Pakete von Ihrem neu zu installieren Cygwin-Installationsprogramm. Der Code, die auf der Using GSL with cygwin g++ Seite sollte so lange in Ordnung zusammenstellen, wie Sie die stdio.h Header-Datei in dem Quellcode einfügen, wie in der Antwort auf dieser Seite gezeigt:

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

Unter der Annahme, diese Datei bessel.cpp ist, sollte es kompilieren mit :

g++ bessel.cpp -lgsl 
+0

Danke Herr für Ihre schnelle Antwort. Ich habe den Pfad überprüft. Es wurde festgestellt, dass es keinen gsl-Ordner unter C: \ cygwin64 \ usr \ include \ gibt. Es scheint ein Problem beim Installieren von GSL mit cygwin64 zu bestehen. Wie im Bild gezeigt, habe ich ein paar GSL-Bibliotheken Optionen bei der Installation überprüft. Was könnte falsch sein, eine gsl mit cygwin erfolgreich zu installieren? Ich meine, es sind gsl-Bibliotheken installiert, die Header-Dateien sollten sich im Ordner befinden, wie du zeigst, oder? –

+0

@RobertWilliam - Haben Sie versucht, die gsl-Pakete auf Cygwin zu deinstallieren/neu zu installieren? Ich habe das gsl-Paket zuerst installiert (und seine Abhängigkeiten), aber die Header wurden in diesem Schritt nicht installiert. Ich habe dann libgsl-devel installiert und sie erschienen. Vielleicht ein Installationsfehler? Oder versuchen Sie es mit einem anderen Spiegel? (Das ist wahrscheinlich eine Strecke ... wirf jetzt einfach Ideen aus.) Lass mich wissen, ob es andere Dateien gibt, die ich in meiner lokalen Installation für dich suchen soll. Ich habe die 64-Bit-Version von Cygwin unter Windows 10 ausgeführt. –

+1

Als eine allgemeinere Antwort, möchten Sie vielleicht auch feststellen, dass Sie finden können, wo ein Cygwin-Paket installiert ist, indem Sie https://cygwin.com/packages/ suchen. – pak

Verwandte Themen