This question은 구멍이있는 다각형을 삼각형 화하는 가장 좋은 방법은 Shewchuk's Triangle library을 사용하지만 Mac OSX에서 컴파일하는 데 문제가 있음을 나타냅니다.Shewchuk의 삼각형 프로그램 용 OSX에서 C 부동 소수점 연산 컴파일
$ make
cc -O -DLINUX -I/usr/X11R6/include -L/usr/X11R6/lib -o ./triangle ./triangle.c -lm
Undefined symbols:
"__FPU_SETCW", referenced from:
_exactinit in ccrEJvxc.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [triangle] Error 1
: 그것은이 내가지고있어 오류가 나는 C.
그냥 경험이있어, 따라서 잠시 동안 주변에하고있다 매우 인기있는 프로그램을 컴파일하기가 비교적 용이해야한다입니다
특정 플래그 (예 : #define LINUX
등)를 주석 처리하려고 시도하고 있지만 각 조합마다 다른 오류 집합이 표시됩니다.
누군가가 나를 단계별로 어떻게 Mac에서이 프로그램을 컴파일하고 (아마도) 호출 할 수 있을까요?
삼각형의 정확한 산술 알고리즘은 부동 소수점 제어 단어에 대한 특별한 처리가 필요합니다. '__FPU_SETCW' 심볼은 8087 FPU의 사용을 제안합니다. 나는이 코드가 비교적 평이한 C 코드 (C++이 아니다)라고 믿고 이것이 유일한 블록이 아니라면 놀랄 것이다. FP 연산 (반올림 제어, 언더 플로우 제어, 예외 마스크 등)을 제어하는 방법을 찾으려면 Mac C 컴파일러 설명서를 참조하십시오. –
'xmmintrin.h '에서 필요한 옵션을 찾을 수있을 것 같습니다. 8087 setcw에서 SSE에 상응하는 값으로 매핑해야합니다. 분명히 SSE를 비활성화하고 Mac에서 8087을 사용하도록 강제 할 수는 있지만 올바른 접근 방식은 아닙니다. –
'xmmintrin.h '를보고 있지만'__FPU_SETCW' 또는'FPU'에 대한 언급이 전혀 없습니다. 내가 줄을 써야한다고 말하는거야? – dsg