如何编译C++;iPhone和iPhone模拟器的0x代码 我们有一个用OpenGL编写的C++可视化蛋白质可视化的数学/科学应用程序。它是在过去几年中编写的,广泛使用了GCC4.4及更高版本中的C++0x特性。(它还用Windows Visual C++ 10编写了Windows,支持许多C++ 0x特性。)< /P>

如何编译C++;iPhone和iPhone模拟器的0x代码 我们有一个用OpenGL编写的C++可视化蛋白质可视化的数学/科学应用程序。它是在过去几年中编写的,广泛使用了GCC4.4及更高版本中的C++0x特性。(它还用Windows Visual C++ 10编写了Windows,支持许多C++ 0x特性。)< /P>,iphone,gcc,c++11,Iphone,Gcc,C++11,我们想发布iPhone/iPad版本,所以我们需要将它从Linux/Windows移植到iPhone。我们几乎不费吹灰之力就移植了类似的程序——添加了一些Objective C文件,完成了--但是,由于这里使用的C++0x特性,我们遇到了一个问题。OSX上的Xcode使用GCC4.2.1(从2007年开始),它早于GCC的C++0x支持。重写所有漂亮的C++ 0x代码,不使用C++0x特性,这是一个巨大的倒退,当C++向C++ 0x的进军是清晰的,我们真的不想保持一个后备的代码库。 有没有办法使

我们想发布iPhone/iPad版本,所以我们需要将它从Linux/Windows移植到iPhone。我们几乎不费吹灰之力就移植了类似的程序——添加了一些Objective C文件,完成了--但是,由于这里使用的C++0x特性,我们遇到了一个问题。OSX上的Xcode使用GCC4.2.1(从2007年开始),它早于GCC的C++0x支持。重写所有漂亮的C++ 0x代码,不使用C++0x特性,这是一个巨大的倒退,当C++向C++ 0x的进军是清晰的,我们真的不想保持一个后备的代码库。 有没有办法使用GCC4.5(或SVN中的4.6)来瞄准iPhone和iPhone模拟器?如果是,怎么做?最好是在Xcode中,因为点击并运行/点击并调试功能非常有用。如果能够在Xcode的“C/C++编译器版本”框中输入“GCC4.6”并让一切正常工作,那就太好了


(顺便说一句,Clang的树顶版本——就在昨天!——支持一些C++0x功能,但还不支持lambda表达式,所以现在可能不适合我们。)

我想说的是,在苹果正式支持之前,可能没有一个非常干净或简单的方法来实现这一点。您可能已经知道这一点,但是Xcode使用较旧版本的GCC的原因是Apple对GNU工具链进行了大量修改,并在APSL(与GPL一起)下发布了它们的版本。因此,在大多数情况下,您可以认为他们的版本的GCC是一个完整的叉子。我在尝试将苹果版的工具链移植到Linux时遇到了这个问题。我已经取得了一些有限的成功,但这不是一个小任务…

+1对于忍者可怕的蛋白质可视化在手机上:)也会对在iphone上使用c++0x的方法感兴趣,等等。你可以检查PLBlocks是如何做到这一点的。他们有一个内置的工具链和运行时替换,为iOS 2.2+和Mac OS 10.5提供模块: