2011-01-27 13 views
14

OpenGLを使用してC++で書かれたタンパク質の視覚化のための数学的/科学的アプリケーションがあります。ここ数年の間に書かれたもので、GCC 4.4以降で使われているC++ 0x機能を大量に使用しています。 (これはWindows上のMicrosoft Visual C++ 10でコンパイルされており、多くのC++ 0x機能をサポートしています)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内からは、クリックアンドラン/クリックアンドデバッグの機能が非常に便利であることが望ましいからです。 Xcodeの "C/C++ Compiler Version"ボックスに "GCC 4.6"と入力して、すべて動作させるだけで十分です。

(ちょうど昨日のように、Clangのツリートップバージョン! - いくつかのC++ 0x機能をサポートしていますが、まだラムダ式をサポートしていないので、

+0

電話での忍者素晴らしいタンパク質の視覚化のための+1 :) –

+1

iphoneのC++ 0x – Colen

+1

PLBlocksがそれをどうやって行うかを調べることができます。それらには、iOS 2.2以降とMac OS 10.5用のブロックを提供するドロップインツールチェーンとランタイムリプレースメントがあります。http://code.google.com/p/plblocks/ –

答えて

5

アップルが正式にサポートするまで、これは非常にクリーンで簡単な方法ではないと言えるでしょう。あなたはすでにこれを知っているでしょうが、Xcodeが古いバージョンのGCCを使用しているのは、AppleがGNUツールチェーンを大幅に変更し、APSL(GPLのあるincompatible)でバージョンをリリースしたためです。したがって、ほとんどの場合、GCCのバージョンを完全なフォークと見なすことができます。アップルのツールチェーンをLinuxに移植しようとすると、この問題に遭遇しました。私はいくつかの限定された成功を収めていましたが、それは小さな事業ではありません...

関連する問題