2013-05-21 4 views
0

libev-3.8 (OSX 10.8에서 정상적으로 컴파일 됨)에서 libev-4.15로 업그레이드하고 다음 오류가 발생합니다.libev-4.15가 OSX 10.8에서 컴파일되지 않습니다.

third_party/libev-4.15/ev.h:234: error: expected identifier before numeric constant 
third_party/libev-4.15/ev.h:234: error: expected `}' before numeric constant 
third_party/libev-4.15/ev.h:234: error: expected unqualified-id before numeric constant 
third_party/libev-4.15/ev.h:842: error: expected declaration before ‘}’ token 

링크 ev.h하기 : http://cvs.schmorp.de/libev/ev.h?revision=1.171&view=markup

내 시스템 설정 :

checking host system type... i386-apple-darwin12.3.0 
checking target system type... i386-apple-darwin12.3.0 
checking for ld used by gcc... /usr/llvm-gcc-4.2/libexec/gcc/i686-apple-darwin11/4.2.1/ld 
checking if the linker (/usr/llvm-gcc-4.2/libexec/gcc/i686-apple-darwin11/4.2.1/ld) is GNU ld... no 
checking how to convert i386-apple-darwin12.3.0 file names to i386-apple-darwin12.3.0 format... func_convert_file_noop 
checking how to convert i386-apple-darwin12.3.0 file names to toolchain format... func_convert_file_noop 
checking for /usr/llvm-gcc-4.2/libexec/gcc/i686-apple-darwin11/4.2.1/ld option to reload object files... -r 

FWIW을, 같은 설정은 CentOS5.6에서 잘 컴파일합니다.

답변

1

"ev.h"에 선언 된 OSX "EV_ERROR"가 "/usr/include/sys/event.h"에 선언 된 것과 충돌한다는 문제점이있었습니다.

수정 사항으로서, 내 소스 파일 중 하나에서 직접 ev.h를 포함하는 대신 사용한 EV 변수를 전달해야했습니다. 그것은 트릭을했다.