2014-11-03 23 views
10

GSL (GNU Bilimsel Kütüphanesi) kullanarak bazı C kodları yazmam ve daha önce hiç kütüphane kullanmadım. Windows'ta GSL'yi kullanma (derleme, bağlama, vb.). Bir Adım Adım Kılavuzu

Ben bir fizikçiyim, bir bilgisayar bilimci değilim ve GNU belgelerinde bir çok jargonla mücadele ediyorum.

Son birkaç saat boyunca, bir Windows 7 makinesinde GSL'yi nasıl kullanacağım konusunda tamamen kafam karışmış durumdayım. Bu sitede ve diğerlerinde çok fazla soru okumaya çalıştım, ama çok fazla jargon kafamın üzerinden geçti. Ben aşağıdaki adımları bir program yazarken

Normalde:

1) Açık notepad ++, kendi başlık dosyaları herhangi birini içeren ve benim kod yazmak.

2) Windows Komut istemi ve yazmaya açarak benim program derleme: Ben Windows (ancak, kullanmayın için codeblocks yükleyerek gcc bir Ortam Değişkeni ve yüklü gcc yapılan

gcc -Wall -std=c99 -o myfile myfile.c

kod-blokları). Bu internet üzerinde Araştırma itibaren

Ben GSL kullanmak için yapmanız başardınız budur: Windows için GSL İndirildi

1):) http://gnuwin32.sourceforge.net/packages/gsl.htm

2, böylece Masaüstü in Yüklü benim Yolda boşluk karakteri olmayacak (Yoldaki boşlukları okudum sorun olabilir).

3) .dll yılların konuma benim Yolu ortam değişkeni ayarlayın: aşağıdaki gibi ben derleyici denilen)

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

int main (void) 
{ 
    double x = 5.0; 
    double y = gsl_sf_bessel_J0 (x); 
    printf ("J0(%g) = %.18e\n", x, y); 
    return 0; 
} 

5: C:\Users\Rohan\Desktop\GnuWin32\bin;

4) GSL örneği programı derlemek çalışıldı:

:

C:\Users\Rohan\Desktop>gcc -Wall -I"C:\Users\Rohan\Desktop\GnuWin32\include" -L"C:\Users\Rohan\Desktop\GnuWin32\lib" -lgslcblas -lgsl -lm -o test test.c 

Bu aşağıdaki hata iletisini sonuçlandı CS'de bir arka plan olmamasından dolayı, bunların çoğu çok az anlaşmayla yapıldı.

Doğru yolda bile miyim? Bu kılavuzu elde etmek için takip edebilecek teknik olmayan bir dilde adım adım kolay bir adım var mı?

Herhangi bir yardım için teşekkür ederiz, Teşekkürler!

+0

bazı 'L/directory' ve' gcc' 'bayrakları gibi -lgsl'. Ve 'gcc' argümanlarının sırası önemlidir. BTW, daima -Wall -Wextra -g'yi gcc’ye geçirir; ve tüm bunlar bir Linux makinesinde biraz daha kolay olabilirdi. –

+0

Aynı zamanda [git] (http://git-scm.com/) –

+0

gibi bazı sürüm kontrol sistemlerini de kullanın. @BasileStarynkevitch'in önerdiği gibi, 'test.c' komut satırındaki diğer tüm öğelerden önce koyulur.Kütüphaneler, içindeki sembolleri kullanan şeylerden sonra belirtilmelidir. –

cevap

6

Kitaplıklardan önce test.c'u yüklemeniz gerekir. Kütüphaneler onları sembolleri kullanmak şeylerden sonra komut satırında belirtilen, bu yüzden değiştirmek edilmelidir: Sen eksik

gcc test.c -Wall -I"C:\Users\Rohan\Desktop\GnuWin32\include" -L"C:\Users\Rohan\Desktop\GnuWin32\lib" -lgslcblas -lgsl -lm -o test 

    ^^^^^^ (put this first) 
İlgili konular