2010-11-24 3 views
6

내가 C/C++에서 프로그램을 컴파일하려고하지만 오류 메시지가 점점 오전 :신참 문제가 해당 파일이나 디렉토리

fpu_control.h를 : 해당 파일이나 디렉토리가 없습니다.

google에서이 문제는 부동 소수점 정밀도가 처리되는 방식과 관련이 있음을 발견했습니다. 나는 gcc의 모든 배포판에 fpu_control.h가있는 것은 아니란 것을 읽었습니다.

내가 알아낼 수있는 유일한 방법입니다. 광범위하게 검색했으며이 fpu_control.h를 다운로드 할 수있는 곳을 찾을 수 없습니다. 누구든지 도와 줄 수 있습니까?

감사합니다.

+4

서면으로 질문에 답할 수 없습니다. 'fpu_control.h '로 무엇을하려고합니까? 이것은 표준 헤더가 아니지만, 무엇을하고 싶은가에 따라,이를 달성하는 데 도움이되는 표준 헤더가있을 수 있습니다 (예 :'fenv.h '). –

+0

내가 컴파일하려고하는 프로그램이 필요합니다. 부동 소수점 정밀도는 프로그램에서 중요한 문제입니다. 그 구체적인 기능에 관한 한, 나는 모른다. 내가 Google에서 찾을 수있는 것부터 많은 컴파일러가 있지만 내 (gcc 4.2)는 그렇지 않습니다. 나는 그것을 찾길 희망하면서 그것을 봤지만 행운은 없었다. – Ant

답변

5

Apple은 FPU 플래그 및 doing so isn't needed 설정을 지원하지 않습니다. 그 이유는 they don't even use the i387 coprocessor for float and double, but SSE입니다. 마지막 참조에서는이 접근법을 되돌리는 방법과 인라인 어셈블리를 사용하여 FPU 제어를 수행하는 방법에 대해서도 설명합니다.

+0

Martin 대단히 감사합니다. 이 링크는 도움이됩니다. 미안 해요, 당신을 투표 스택 오버플로에 충분히 중요하지 않다! – Ant

+0

이 답변이 실제로 만족 스럽다면 승인 된 것으로 표시하는 것이 좋습니다 (그 다음 녹색 체크 박스). –

0

fpu_control.h는 (는) mac OSX 헤더가 아닙니다. 컴파일하려고하는 코드가 OSX에서 컴파일 될 의도는 아니 었습니다. 이 기능을 주석으로 처리하거나 자신의 헤더 (대개 fpu_control.h라고도 함)에서 바꿔야합니다.

+0

고맙습니다. 나는 주석 처리를 시도했지만 부동 소수점 정밀도는 프로그램에서 큰 문제이므로이 문제는 문제입니다. 그것은 OSX에서 컴파일 될 의도가 아니었지만 제작자는 그것을 할 수 있다고 생각합니다. 당신의 도움을 주셔서 감사합니다. – Ant

관련 문제