이 간단한 걸 기억 못해서 어제 종일 끙끙댔다.
그래서 기록을 남겨본다
XCode는 C++ 과 Objective-C 를 동시에 쓸 수 있.. 쓸 수 있을수도 있도록 지원하고 있다.
그래서 나는 중요한 클래스는 그냥 C++ 로 만들고 UI와 관련된 부분만 Objective-C 로 만들려고 생각하고 있다.
그런데, 오랜만에 해보니 이게 잘 안되는거다. 블로그 검색해도 잘 나오질 않고.
방법은 간단하다.
1. C++클래스를 사용하는 Objective-C 파일의 확장자를 .m 에서 .mm 으로 바꿔준다. .cpp 확장자를 .mm으로 바꾸는 게 아니라, .m 파일의 확장자를 .mm으로 바꾸는거다.
이렇게만 해도 되는데, 만약 이래도 안되면,
2. .cpp 파일의 속성을 아래와 같이,
"Objective-C++ source" 로 바꿔준다.
사실 이게 XCode 3.2때는 꼭 해줘야 했었는데, 이번 4.2에서는 굳이 안해줘도 처음부터 잘 된거 같다. (사실 이것저것 세팅을 건드려서 확실치는 않음. 여튼 안되면 이걸 보자.)
그리고 어떤 분이 이렇게 Objective-C에서 C++을 사용하면 생성자와 소멸자가 호출이 안된다는 소문을 내셨는데,
실제 테스트해본 결과 XCode 3.x대와 4.2 모두 C++ 클래스의 생성자와 소멸자가 제대로 호출되는 걸 확인했다.
TestUnit에서도 C++ 클래스 잘 인식되고(당연하지만 ㅋ) 넘 기쁘다. 이제 코딩만 남았다. 코딩만.. 남았네.
이 글이 도움이 되셨다면 아래 손꼬락을 꼬옥 눌러주세요. 큰 힘이 됩니다. 그리고 댓글도 남겨주시면 더더욱 크~ㄴ 힘이 되겠습니다. ^^;
'프로그래밍 > 아이폰,아이패드' 카테고리의 다른 글
iOS, Object-C를 이용한 아이폰/아이패드 개발에서 Delegate에 대한 이해-2. 이벤트 (0) | 2011.10.31 |
---|---|
iOS, Object-C를 이용한 아이폰/아이패드 개발에서 Delegate에 대한 이해-1. prolog (2) | 2011.10.30 |
혼자 버그라고 오해한 XCode 4.2의 컴파일 에러 (0) | 2011.10.19 |
자바, iOS의 Object 와 id 에 대해 (0) | 2011.08.27 |