gcc에서 긴 이중 함수 사용하기

gcc에서 긴 이중 함수 사용하기

long doubleUbuntu의 gcc가 math.h의 조작 기능, 즉 sqrtl, cabsl및 를 이해하는 데 어려움을 겪고 있습니다 cexpl. 컴파일할 때 내가 받는 메시지는 다음과 같습니다.

undefined reference to `sqrtl'

-lmgcc가 이러한 기능을 이해하기 위해 명령줄에 넣어야 하는 플래그 외에 다른 플래그가 있습니까 ? 누락된 패키지인가요? 아니면 제가 사용하고 있는 버전(Oneiric의 경우 4.6.1)에 문제가 있습니까?

답변1

문제는 인수가 컴파일러에 전달되는 순서에 있습니다.

Oneiric에서는 연결된 라이브러리를 호출해야 합니다.~ 후에소스 파일 이름:

gcc test.c -lm

이러한 변경 사항과 그 이유에 대해 자세히 설명되어 있습니다.여기.

gcc에는 상수 값의 내장 버전이 있기 때문에 상수 값 함수에 대해서는 문제가 나타나지 않습니다. 따라서 컴파일하면 -fno-builtin인수의 변수와 동일한 오류가 발생합니다.

에 감사하다제이슨 콘티이 정보를 위해.

관련 정보