2010-12-12 1 views
0

cmath와 같은 기본 헤더를 포함하는 데 계속 문제가 있습니다. 예제 프로젝트를 사용할 때 가장 보편적입니다. 예 : 예를 들어XCode, cmath, objc-class.h 등에서 헤더를 가져오고 실패합니다.

#include <cmath> 

내가 사용하고 SDK가 그것을 가지고 있는지 확인 수 있지만, 찾을 수없는 파일을 가져옵니다

/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/usr/include/c++/4.2.1/tr1/cmath 

가끔 직접 수입하여 문제를 해결할 수 있습니다 파일에 저장되지만 항상 작동하는 것은 아닙니다.

#include </usr/include/c++/4.2.1/cmath> 
+0

모든 포인트가 C++, C 태그로 바뀜 – pmg

답변

2

소스 코드 파일의 확장자는 무엇입니까? .m 또는 .mm? .m 인 경우, 컴파일러는 일반적인 objective-C 파일을 가지고 있다고 가정합니다. 반면 .mm은 objective-C++ 파일을 의미합니다. .mm 파일이 아니라면 컴파일러는 C++ includes를 찾지 못할 수도 있습니다.

+0

가장 최근의 발생은 .hpp 파일에 있습니다. 나는 이전에 이러한 문제를 겪었고, Xcode와 깔끔한 프로젝트를 닦아서 설치하는 경우를 제외하고는 빌드 구성에서 설정이 제대로되어 있지 않다고 생각합니다. – akaru

+0

... 위의 .hpp 클래스가 포함 된 클래스의 이름을 .mm 확장자로 변경했을 때 작동했습니다. 컴파일러 지시문이 확장명 변경으로 변경된다는 것을 알지 못했습니다. 감사! – akaru

+0

후속 조치 :이 작업은 Objective-C++ .mm 파일과 잘 작동합니다. 그러나 Interface Builder를 사용하고 있는데 .mm 파일로 내 View Controller와 잘 작동하고 싶지 않습니다. 컴파일러가 세그먼트 화 된 오류가 발생합니다. 그런 유스 케이스에 대한 조언? 저는 IB를 사용하는 사람이 아니지만 UI는 그로부터 이익을 얻을만큼 복잡합니다. – akaru

관련 문제