2011-10-06 4 views
0

OSX Lion을 실행 중이며 here과 같이 I/O Kit를 사용하여 잠자기 알림을 등록하고 싶습니다.I/O Kit에서 "아키텍처 x86_64에 대한 정의되지 않은 기호"문제를 해결하는 방법은 무엇입니까?

코드를 컴파일 할 때 IOAllowPowerChange, 및 IONotificationPortGetRunLoopSource 기호에 대해 Undefined symbols for architecture x86_64이 표시됩니다.

Apple의 문서에서 검색했으며 모두 공개 기능입니다. 내가 왜 그 문제를 겪고 있는지에 대한 제안?

답변

1

난 당신이 내가 중요한 이유도 확실하지 않다하지만 정적 함수 내에서 I/O 키트의 함수를 호출하는 경우, 컴파일러가되지 않습니다 IOKit.framework

+0

@ jibat100. 'IOAllowPowerChange'와 내가 언급 한 다른 두 함수와 같은 헤더에있는'IOPMSchedulePowerEvent'를 사용하고 있기 때문에 링크 문제가 없다는 것을 확인했습니다. – David

+0

프로젝트에 IOKit 프레임 워크를 포함시키지 않으면 확실히 문제가됩니다. 그렇다면 어떤 이유로 올바른 아키텍처가 아닙니다 (64 비트 또는 ARM이 아님). 그 또는 IOKit에는 추가 프레임 워크가 필요합니다. – jbat100

+0

@David가 새 질문을 upvoted, 그것은 실제로 매우 이상한 것입니다 ... – jbat100

0

에 링크 할 필요가 말할 것 문제를보고하지만 정적 함수를 사용하지 않으면 오류가 발생합니다.

+0

이것은 질문에 대한 대답이며 답변이 아닙니다 – jrturton

+0

그것은 오류를 제거하고 컴파일 할 수 있기 때문에 대답입니다. 왜이 문제가 해결되었는지 이해할 수 없습니다. – David

+0

당신의 질문은 그러므로, 내가 정적 함수에서 IOKit 메소드를 사용할 때 이런 식으로해야한다고 생각합니다. 컴파일 오류가 발생합니다. 그 이유는 무엇입니까? – jrturton

관련 문제