GSL - GNU Scientific Library unter Windos :/



  • Hallo ich will die folgenten dateien in mein projekt einfugen
    ftp://ftp.gnu.org/gnu/gsl/
    Ich downloade v1.8. Ich entpacke die dateien und schiebe alle meine dateien mit meiner maus in mein workspace. Später versuch ich dann folgentes zu kompilieren.

    #include <stdio.h>
    #include <gsl/gsl_math.h>
    #include <gsl/gsl_eigen.h>
    
    int
    main (void)
    {
      double data[] = { 1.0  , 1/2.0, 1/3.0, 1/4.0,
                        1/2.0, 1/3.0, 1/4.0, 1/5.0,
                        1/3.0, 1/4.0, 1/5.0, 1/6.0,
                        1/4.0, 1/5.0, 1/6.0, 1/7.0 };
    
      gsl_matrix_view m 
        = gsl_matrix_view_array (data, 4, 4);
    
      gsl_vector *eval = gsl_vector_alloc (4);
      gsl_matrix *evec = gsl_matrix_alloc (4, 4);
    
      gsl_eigen_symmv_workspace * w = 
        gsl_eigen_symmv_alloc (4);
    
      gsl_eigen_symmv (&m.matrix, eval, evec, w);
    
      gsl_eigen_symmv_free (w);
    
      gsl_eigen_symmv_sort (eval, evec, 
                            GSL_EIGEN_SORT_ABS_ASC);
    
      {
        int i;
    
        for (i = 0; i < 4; i++)
          {
            double eval_i 
               = gsl_vector_get (eval, i);
            gsl_vector_view evec_i 
               = gsl_matrix_column (evec, i);
    
            printf ("eigenvalue = %g\n", eval_i);
            printf ("eigenvector = \n");
            gsl_vector_fprintf (stdout, 
                                &evec_i.vector, "%g");
          }
      }
    
      return 0;
    }
    

    Und bekomme volgende fehlermeldung 😕

    ------ Erstellen gestartet: Projekt: bla, Konfiguration: Debug Win32 ------
    Kompilieren...
    eigen.c
    c:\bla\bla\eigen.c(2) : fatal error C1083: Datei (Include) kann nicht geöffnet werden: "gsl/gsl_math.h": No such file or directory
    Das Buildprotokoll wurde unter "file://c:\bla\bla\bla\Debug\BuildLog.htm" gespeichert.
    bla - 1 Fehler, 0 Warnung(en)
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
    

    Ich weis ich muss anstele von #include <> #include "" verwenden aber jetzt alle dateien umzusreiben geht nicht. Hat einer ratt ist ziemlich wichtig :/!.



  • Du musst die GSL erst kompilieren.
    Ich könnte dir nächstes Jahr mal ein Projekt schicken, wo jemand das ganze fürs VS zubereitet hat. Habe allerdings den Link dazu nicht mehr.
    Im Januar bin ich wieder an der Uni da hab ich Webspace und kann dir das Projekt hochladen. Musst mich nur daran erinnern^^



  • Wie compiliere ich das, per hant?.



  • Da müsste ein makefile dazu sein. Das ist aber auf Linux und den GCC ausgelegt. Ich habe nach einigem googlen halt eine Seite gefunden, wo sich jemand die Mühe gemacht hat, das in ein VS-Projekt zu überführen. Damit konnte ich dann problemlos kompilieren.



  • Hab ich auch gefunden da sind aber 2000 workspaces drin welches muss ich benutzen kack is das schwer ...



  • http://david.geldreich.free.fr/dev.html

    Da hab ich es her als VS-Projekt. Musst nur starten und kompilieren 🙂
    Ist ganz praktisch, weil du dann die Linkereinstellungen(MT oder MT DLL usw, gleich so einstellen kannst, wie du es brauchst)


Anmelden zum Antworten