반응형
math.h를 포함함에도 불구하고 C에서 pow()에 대한 정의되지 않은 참조
나는 나를 정말 어리둥절하게 만드는 간단한 과정으로 약간의 문제를 겪고 있다.
본질적으로, 나는 무엇보다도, 주어진 반지름에서 구의 부피를 계산하는 프로그램을 써야 한다.나는 그 옷을 사용할 줄 알았다.pow()
단순하게 사용하기보다는 기능하다r*r*r
추가 브라우니 포인트에 대해, 그러나 컴파일러는 나에게 다음과 같은 오류를 계속 준다.
'분' 수집2: 오류: ld가 종료 상태를 1개 반환함
내 코드는 다음과 같다.
#include <math.h>
#define PI 3.14159265 //defines the value of PI
/* Declare the functions */
double volumeFromRadius(double radius);
/* Calculate the volume of a sphere from a given radius */
double volumeFromRadius(double radius) {
return (4.0/3.0) * PI * pow(radius,3.0f);
}
그리고 나는 그 명령으로 편찬하고 있다.gcc -o sphere sphere.c
이 코드는 잘 컴파일되고 실행된다. uni에서는 Windows 기계의 블록이지만, 집에 있는 Fedora 17에서는 명령행 컴파일러가 실행을 거부한다.어떤 생각이라도 고맙게 생각하겠어!
축복해, 이안
수학 라이브러리에 연결해야 하는 경우:
gcc -o sphere sphere.c -lm
표시되는 오류:error: ld returned 1 exit status
링커에서 왔음ld
(객체 파일을 결합한 gcc의 일부) 함수의 위치를 찾을 수 없기 때문에pow
정의된다.
포함math.h
정의가 아닌 다양한 기능의 선언을 가져오다.수학도서관에 데프가 있다.libm.a
. 프로그램을 이 라이브러리와 연결해야 pow()와 같은 기능에 대한 호출이 해결된다.
반응형
'IT이야기' 카테고리의 다른 글
Java: 인스턴스(Instanceof) 및 제네릭 (0) | 2022.05.08 |
---|---|
C를 사용하여 키보드에서 문자열을 읽는 방법? (0) | 2022.05.08 |
Vuejs2: 감시자를 어떻게 파괴할 수 있을까? (0) | 2022.05.08 |
로거의 다른 레벨을 다른 대상에 기록하도록 Logback을 구성하는 방법 (0) | 2022.05.07 |
Laravel Axios Vue를 사용하여 상태 코드 419로 실패 (0) | 2022.05.07 |