2013-06-10 2 views
0

배경맥 OS 프레임 워크 헤더 파일 MachineExceptions.h 오류 : 선언은 선언하지 않는 것도

나는 LSGetApplicationForURL API를 사용하려고 여기에 매우 유용한 예를 찾을거야 - 그러나 how to get default mail client version on mac os x?

을 때 내가의 몇 가지 선언을보고 어디 라인 (53)의 주위에 MachineExceptions를 열어

/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/MachineExceptions.h:53: error: declaration does not declare anything

은 이것이다 : 나는이 오류 코드를 컴파일하려고은 MacTypes.h에 정의 된 유형입니다. 이것이 Carbon Core 프레임 워크의 일부라는 것을 알았습니다.

처음에는 위 코드에서 최상위 헤더를 포함합니다 (실제로 위 예제에서 나온 정확한 샘플 코드 사용). 그래서 나는 MachineException.h 또는 다른 헤더 파일을 포함 시키거나 터치하지 않습니다. 분명히 결국이 오류로 이어질 몇 가지 종속성이있는 것 같습니다.

연구 내가 해봤 일/중 일부

: 나는 탄소 코어가 10.8에서 사용되지 것을 발견

  1. (버전 내가 사용) - 결과 https://developer.apple.com/library/mac/#releasenotes/General/CarbonCoreDeprecations/MacTypes.h에서 Carbon Core 프레임 워크는 다소 빈약한데, 이는/usr/include/
  2. 에서
  3. 으로 조건부로 포함되었습니다. Carbon Core 프레임 워크에서 MacTypes.h을 편집하고 MachineExceptions.h에서/usr/include의 MacTypes를 정보별로 포함하려고했습니다. 위의 '지원 중단'페이지에서
  4. 헤더 파일을 포함하는 순서로 바뀌 었습니다 (이 연구를하는 동안 누군가 다른 사람에게 도움이되었습니다).
  5. 내가합니다 ('-framework'옵션을 사용) 내 메이크에서 CoreFoundation에서와 ApplicationServices 프레임 워크 나는이 밖으로 정렬하려고 많은 시간을 보냈다으로이 문제에 대한 의견이 크게 감사합니다

을 포함하고있다. 여기에있는 것이 근본적이거나 기본적인 것이라면 사전에 사과드립니다. Mac OS 프로그래밍에 익숙하지 않고 Frameworks의 유선 방식과 사용 방법을 이해하려고합니다.

감사합니다.

답변

1

오류는 일부 매크로 정의의 결과처럼 보입니다. 코드 또는 프로젝트의 전 처리기 정의 어딘가에 LR 매크로가 정의되어 있습니까? CR에 대한 MachineExceptions.h의 42 행에있는 메모를 살펴보십시오. 너 비슷한 것 같아.
어쨌든 기본 명령 줄 도구 프로젝트로 예제 코드를 성공적으로 컴파일했습니다. 프로젝트 구성에 오류가있을 수 있습니다.

+0

Spot on, Cody! 나는 makefile에 상충되는 심볼을 가지고 있었다. 그것을 정리하고 성공적인 컴파일을 얻었습니다. 당신의 도움을 주셔서 감사합니다!! – chicagozfinest