2011-08-18 6 views
2

J'ai téléchargé, compilé et installé la bibliothèque scientifique GNU (GSL) sur mon mac, qui localise/usr/local/include/GSL par défaut.Autorisation refusée? lors de l'exécution du example.o (échantillon statistique GSL)

Pour, je tester ont essayé de compiler et exécuter le programme exemple de C (qui se trouve du document de GSL).

#include <stdio.h> 
#include <gsl/gsl_statistics.h> 

int 
main(void) 
{ 
    double data[5] = {17.2, 18.1, 16.5, 18.3, 12.6}; 
    double mean, variance, largest, smallest; 

    mean  = gsl_stats_mean(data, 1, 5); 
    variance = gsl_stats_variance(data, 1, 5); 
    largest = gsl_stats_max(data, 1, 5); 
    smallest = gsl_stats_min(data, 1, 5); 

    printf ("The dataset is %g, %g, %g, %g, %g\n", 
      data[0], data[1], data[2], data[3], data[4]); 

    printf ("The sample mean is %g\n", mean); 
    printf ("The estimated variance is %g\n", variance); 
    printf ("The largest value is %g\n", largest); 
    printf ("The smallest value is %g\n", smallest); 
    return 0; 
} 

Pour le compiler,

$ gcc -I/usr/local/include -c example.c

$ ls

example.c example.o

Et, pour l'exécuter,

$ ./example.o

-bash: ./example.o: Autorisation refusée

Que se passe-t-il? Qui peut le courir autre que moi?

Répondre

1

example.o est un fichier objet, pas un exécutable.

Selon la documentation (info gsl-ref pour le lire), cela devrait fonctionner (ou du moins c'est proche).

$ gcc -Wall -I/usr/local/include -c example.c 
$ gcc -L/usr/local/lib example.o -lgsl -lgslcblas -lm -o example 
$ ./example 
+0

Vous l'avez. Merci beaucoup. –

Questions connexes