| [ CnUnix ] in KIDS 글 쓴 이(By): Puppy (룰루강아지�) 날 짜 (Date): 1996년10월19일(토) 13시19분26초 KST 제 목(Title): [질문]gcc에서 실행화일만들기 에러~~ 가 났는데 어떻게 해야 되요?? gcc를 가끔씩 사용하기는 해도 헤더화일에 있는 함수를 불러서 프로그램을 거의 안짰는데 이번에 그럴일이 있어서 불러들여서 짰는데 이런 장난 아닌 에러가 나오 더군요... math.h화일을 불러서 pow라는 함수를 사용했습니다. 처음에 컴파일 까지는 잘 됐습니다. 그런데 실행화일을 만들던중...undefined reference to "pow"라는 에러가 났습니다.(철자가 맞을래나?) 라이브러리를 불러 내지 못해서 생긴 에러인거 같은데 어떻게 해 야 될지 모르겠습니다. 그리고 참 pow함수안에 들어가는 변수들 은 전부다 double로 선언을 해줬습니다.. 그리고 리턴해주는 값도 double로 받게 했습니다... 참고로 저의 프로그램을 보여 드리도록 하죠.. #include <math.h> double funca(double p); /* function, x^3 + 4x^2 - 10 */ double funcb(double p); double funcc(double p); double funcd(double p); double funce(double p); main() { int i = 0, show[5], j; /* i is increasing number of iterations N */ double p0[5], p[5]; double tol; p0[0] = p0[1] = p0[2] = p0[3] = p0[4] = 1; tol = 0.000000005; printf("n\t a b c d e\n"); /* print character for table */ while(i <= 30){ /* number of loop */ p[0] = funca(p0[0]); p[1] = funcb(p0[1]); p[2] = funcc(p0[2]); p[3] = funcd(p0[3]); p[4] = funce(p0[4]); printf("%d", i); for(j=0; j <= 4; j++){ if( ((p[j]-p0[j]) < 0.000000005) && ((p[j]-p0[j]) > -0.000000005)){ printf("%f\t", p[j]); show[j] = 1; } if(show[j] != 1){ p0[j] = p[j]; if((i <= 10) || ((i%5) == 0 )) printf("%f\t", p0[j]); } } printf("\n"); i = i + 1; } } double funca(double p) { double f; /* for result */ f = p - pow(p, 3) - 4*pow(p, 2) + 10; /* function, x - x^3 -4x^2 + 10 */ return f; /* send result value */ } double funcb(double p) { double f; f = pow((10/p - 4*p), 1/2); return f; } double funcc(double p) { double f; f = pow((10 - pow(p, 3)), 1/2)/2; return f; } double funcd(double p) { double f; f = pow( (10/(4+p)), 1/2); return f; } double funce(double p) { double f; f = p - (pow(p, 3) + 4*pow(p, 2) - 10)/(3*pow(p, 2) + 8*p); return f; } 참 여기 따라온 주석은 제가 잘 못 부친거니까 절대 해석하지 마 셔요...이프로그램과 관계없는 주석입니다.. 그럼 제발 도움을 주시기 바라며 ..전 이만~~~ |