2011-01-27 4 views
14

OpenGL을 사용하여 C++로 작성된 단백질 시각화를위한 수학/과학 응용 프로그램이 있습니다. 지난 2 년 동안 작성되었으며 GCC 4.4 이상에서 C++ 0x 기능을 광범위하게 사용합니다. 또한 많은 C++ 0x 기능을 지원하는 Windows의 Microsoft Visual C++ 10으로 컴파일됩니다.iPhone 및 iPhone 시뮬레이터 용 C++ 0x 코드 컴파일 방법

iPhone/iPad 버전을 출시하려고하므로 Linux/Windows에서 iPhone으로 이식해야합니다. 우리는 비슷한 프로그램을 약간의 노력으로 포팅했지만, Objective C 파일을 몇 개 추가하고 완료했습니다! 그러나 여기에 사용 된 C++ 0x 기능으로 인해 문제가 발생했습니다. OS X의 Xcode는 GCC의 C++ 0x 이전 버전보다 GCC 4.2.1 (2007부터)을 사용합니다. 이 아름다운 C++ 0x 코드를 C++ 0x 기능을 사용하지 않도록 다시 작성하는 것은 거꾸로 보입니다. C++ 0x를 향한 행진이 명확 할 때 백 포트 된 코드베이스를 유지하고 싶지는 않습니다.

iPhone 및 iPhone 시뮬레이터를 타겟팅하기 위해 GCC 4.5 (또는 4.6, SVN)를 사용할 수 있습니까? 그렇다면 어떻게? Xcode 내에서 click-and-run/click-and-debug 기능이 매우 유용하기 때문에 바람직합니다. Xcode의 "C/C++ 컴파일러 버전"상자에 "GCC 4.6"을 입력하면 모든 것이 올바르게 작동합니다.

(그냥 어제의 Clang 트리 버전! - 일부 C++ 0x 기능을 지원하지만 아직 람다 식을 지원하지 않으므로 아마도 지금 당장은 우리입니다.)

+0

전화에서 닌자 - 멋진 단백질 시각화를위한 +1 : –

+1

아이폰에서 C++ 0x를 사용하는 방법에 관심이 있습니까? – Colen

+1

PLBlocks가 어떻게하는지 확인할 수 있습니다. 그들은 iOS 2.2 이상 및 Mac OS 10.5 용 블록을 제공하는 드롭 인 도구 체인과 런타임 대체품을 가지고 있습니다 : http://code.google.com/p/plblocks/ –

답변

5

내 머리 꼭대기에서, 애플이 공식적으로 지원할 때까지는 아마도 매우 깨끗하고 쉬운 방법이 없을 것이라고 말할 것입니다. 아마도 이미 알고있을 것이다. 그러나 Xcode가 GCC의 이전 버전을 사용하는 이유는 애플이 GNU 툴체인을 광범위하게 수정하고 APSL (GPL을 사용하는 incompatible)으로 버전을 발표하기 때문이다. 따라서 대부분의 경우 GCC 버전을 완전한 포크로 간주 할 수 있습니다. 툴체인의 Apple 버전을 Linux로 이식하려고 할 때이 문제가 발생했습니다. 몇 가지 제한된 성공을 거뒀지만, 작은 사업이 아닙니다 ...