2014-11-03 7 views
10

GSL (GNU Scientific Library)을 사용하여 C 코드를 작성해야하고 이전에 라이브러리를 사용한 적이 없습니다.Windows에서 GSL 사용 (컴파일, 링크 등). Step by Step 가이드

저는 컴퓨터 과학자가 아닌 물리학 자요. GNU 문서에서 많은 용어로 고민하고 있습니다.

저는 지난 몇 시간 동안 Windows 7 컴퓨터에서 GSL을 사용하는 방법을 완전히 혼동했습니다. 나는이 사이트와 다른 사이트에서 많은 질문을 읽으려고 노력했지만, 많은 전문 용어가 내 머리 위로 간다. 나는 다음과 같은 단계를 수행하는 프로그램 작성할 때

일반적으로는 :

1) 메모장을 엽니 ++, 내 자신의 헤더 파일 중 하나를 포함하고 내 코드를 작성합니다.

2) 윈도우 명령 프롬프트를 입력 열고 내 프로그램을 컴파일 : 나는 윈도우 (단, 내가 사용하지 않는 대한 CodeBlocks를 설치하여 GCC 환경 변수 및 설치된 GCC를 만들어

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

을 코드 블록). 이 인터넷에 대한 연구에서

내가 GSL을 사용하려면 어떻게 관리 한 것입니다 :에서 Windows 용 GSL을 다운로드

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

2 있도록 바탕 화면에 설치된 내 경로에는 공백 문자가 없습니다 (경로의 공백은 문제가 될 수 있음).

3) .DLL 년대의 위치를 ​​내 경로 환경 변수 설정 : 다음과 같이 나는 컴파일러라고도 함)

#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 예제 프로그램을 컴파일 시도 :

:

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 

이 다음과 같은 오류 메시지가 결과

이 대부분은 CS에 배경 지식이 없기 때문에 거의 이해하지 못했습니다.

나는 올바른 길 위에 있습니까? 단계 안내에 의한 쉬운 단계가 있습니까?이 기술을 얻으려면 따라야하는 비 기술적 언어가 있습니까?

도움을 주시면 감사하겠습니다. 감사합니다.

+0

'gcc '에 대한 플래그와 같은'-L/directory' 및'-lgsl' 플래그가 누락되었습니다. 그리고'gcc '에 대한 논쟁 순서가 중요합니다. BTW는 항상'-Wall -Wextra -g'를'gcc'에 넘깁니다. 이 모든 것은 Linux 컴퓨터에서 약간 쉬울 수 있습니다. –

+0

[git] (http://git-scm.com/)과 같은 버전 제어 시스템을 사용하십시오. –

+0

@BasileStarynkevitch가 제시 하듯이, 명령 행에 다른 모든 것들 앞에'test.c'를 넣으십시오.라이브러리는 기호를 사용하는 것들 뒤에 지정해야합니다. –

답변

6

라이브러리 앞에 test.c을 넣어야합니다. 라이브러리는 심볼을 사용한 후에 명령 행에 지정해야하므로 다음으로 변경하십시오.

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)