2017-04-09 2 views
0

Je veux utiliser GSL sur Windows 10. Après avoir installé les paquets GSL dans cygwin, je ne trouve pas le dossier install gsl sous cygwin. L'erreur est comme ceci:Où GSL est-il installé sur Cygwin, Windows 10?

$ g ++ bessel.cpp -lm -lgsl -o bessel.out -L/usr/bin bessel.cpp: 1: 32: erreur fatale: GSL/gsl_sf_bessel.h: Aucun fichier ou répertoire compilation terminée.

que je vois les paquets installés GSL:

enter image description here

J'ai suivi lien ci-dessous sur un fichier .cpp petit test. Using GSL with cygwin g++

S'il vous plaît aidez-moi sur la configuration de la bibliothèque GSL dans Windows 10.

Merci,

Répondre

1

Pour savoir où sont les fichiers et si le package est installé.
Check package contient Wich "GSL" au nom

$ 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 

Les en-têtes et les bibliothèques d'importation pour la compilation sont en devel.
Nous vérifions l'état du package:

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

Ainsi, le paquet est correclti installé et aucun fichier sont manquants. Énumérer le contenu de l'emballage

$ 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

Si le répertoire d'installation de Cygwin est C:\cygwin64, le fichier d'en-tête que vous faites référence ci-dessus est situé à l'adresse suivante:

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

Si vous le faites, vous le voyez pas, il faut réinstaller les gsl et libgsl-devel paquets de votre Programme d'installation Cygwin. Le code fourni sur la page Using GSL with cygwin g++ devrait compiler correctement aussi longtemps que vous ajoutez le fichier d'en-tête stdio.h au code source, comme indiqué dans la réponse sur cette page:

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

À supposer que ce fichier est bessel.cpp, il doit compiler avec :

g++ bessel.cpp -lgsl 
+0

Merci monsieur pour votre réponse rapide. J'ai vérifié le chemin. Il est trouvé qu'il n'y a pas de dossier GSL sous C: \ cygwin64 \ usr \ include \. Il semble qu'il y ait un problème lors de l'installation de GSL avec cygwin64. Comme montré dans l'image, j'ai eu quelques options de bibliothèques gsl vérifiées lors de l'installation. Qu'est-ce qui pourrait ne pas fonctionner avec une installation réussie de gsl avec cygwin? Je veux dire, les bibliothèques GSL sont installées, ses fichiers d'en-tête devraient être dans le dossier comme vous le montrez, n'est-ce pas? –

+0

@RobertWilliam - Avez-vous essayé de désinstaller/réinstaller les paquets gsl sur Cygwin? J'ai d'abord installé le paquet gsl (et ses dépendances) mais les en-têtes n'ont pas été installés dans cette étape. J'ai ensuite installé libgsl-devel et ils sont apparus. Peut-être un problème d'installation? Ou essayez avec un autre miroir? (Celui-ci est probablement un étirement ... juste jeter des idées maintenant.) Faites-moi savoir s'il y a d'autres fichiers que vous aimeriez que je recherche dans mon installation locale pour vous. J'ai la version 64 bits de Cygwin fonctionnant sous Windows 10. –

+1

En guise de réponse plus générale, vous pouvez également noter que vous pouvez trouver l'emplacement de tout paquet Cygwin en effectuant une recherche sur https://cygwin.com/packages/. – pak