私は XCode には耐えられませんが、OpenFrameworks は大好きです。Linux+Win32 で動作することは知っているので、XCode に依存する必要がある理由がわかりません。XCode をインストールする必要がある場合は問題ありませんが、まったく使用したくありません。
5 に答える
Xcode は内部的に gcc/llvm を使用します。実際、コマンド ラインから、openFrameworks プロジェクトを含むディレクトリに cd で移動し、 と入力するだけですxcodebuild
。ただし、これではプロジェクト ファイルを編集したり、新しいソース コードを追加したりすることはできません。
Linux の makefile は、OSX でも動作するように適合させることができます。これらには、正しいソース ファイルやライブラリ パスなどを見つけるために必要な多くの情報が既に含まれています。ただし、Linux では、共有システム ライブラリとしてさらに多くのコンポーネントをインストールできます。一方、OSX では、ほとんどのライブラリを静的にリンクします。ライブラリ パスを追加する必要があります。おそらく最大の落とし穴は、すべてを 32 ビットでコンパイルする-arch i386
必要があることです。つまり、どこにでも渡す必要があるため、Homebrew や MacPorts を使用して依存ライブラリをインストールすることはできません。私たちは 64 ビットに移行中ですが、32 ビットに固執する必要がある QuickTime 呼び出しがまだいくつかあります。これは主に、多くの人がまだコンピュータ ビジョンに使用している従来のビデオ キャプチャ デバイスへのアクセスに関するものです。
@cdelacroix が指摘するように、私たちは OSX 上の Xcode プロジェクト ファイルのみを維持しています。これは主に、適切な代替手段がないことが原因です。OSX 用の Code::Blocks のバージョンがありますが、十分にサポートされておらず、ネイティブ GUI レンダリングに問題があり、他のプラットフォームに遅れをとっている傾向があります。Xcode は、OSX にツールチェーンをインストールする最も簡単な方法でもあるため、ほとんどのユーザーにとって Xcode のインストールが必要です。
Makefile ベースのビルド システムが動作し、それを中長期的に維持することに関心がある場合は、GitHub リポジトリに投稿することを検討してください。喜んで受け入れられます。
2013 年 3 月の時点で、openFrameworks はライブラリ自体をコンパイルするための公式の makefile をサポートしています。ただし、この記事の執筆時点では、変更はまだ安定版リリースにマージされていません。Git リポジトリのクローンを作成し、開発ブランチに切り替える必要があります。
git clone https://github.com/openframeworks/openFrameworks
cd openFrameworks && git checkout develop
cd libs/openFrameworksCompiled/project
make
私が知る限り、ライブラリに対してアプリをコンパイルするには、まだ非公式のソリューションを使用する必要があります。
OsX で OpenFrameworks アプリケーションをコンパイルするメイクファイルへのリンクを次に示します。
https://gist.github.com/labe-me/1190981
アプリのディレクトリに makefile を置き、make を実行します。OsX 10.6 でテスト済みですが、アドオンはまだ試していません。
Xcode、または少なくとも一連のコンパイラが必要ですが (詳細については、こちらを参照してください)、それ以外の場合は、好きなエディターまたは環境でコードを編集/操作できます。
@mipadiが言ったように、実際にXcodeを使用する必要はありません.Xcodeで行うほとんどすべてのことを、makeやcake、または選択したビルドシステムで行うことができます. 通常のツール (コンパイラ、リンカー、ストリップなど) に渡すコマンド ライン オプションの適切なセットを見つけるだけでよく、場合によっては、Xcode ビルド ウィンドウでその状態を確認する方が簡単な方法もあります。作業を行います (各行の右側にある小さなボタンで行を展開します)。
たとえば、ld -framework Framework -FPathToFramework foo.o を使用して選択したフレームワークにリンクしたり、ld -lLib -LPathToDylib foo.o を使用して動的ライブラリにリンクしたりできます。自己完結型のパッケージ化されたアプリケーションを出荷するには、@rpath、@loader_path、および install_name_tool について学習する必要がある場合があります。
OpenFrameworks に関しては、Xcode の「要件」は、作成者が Xcode プロジェクト ファイルのみを維持することを決定したことです。彼らがどのようにそれを行うのかを見ただけで、静的ライブラリを構築するソース コードと Xcode プロジェクト ファイルが提供されているため、さらに簡単になります (ただし、ライブラリの依存関係を手動でリンクする必要があります)。ビルド システムのソースからすべてをコンパイルするか (Xcode に触れずにカスタマイズ機能を強化したい場合)、または Xcode で 2 つの静的ライブラリ (openFrameworks.a と openFrameworksDebug.a) を一度生成してから、それらを使用するかを選択する必要があります。ビルド システム (継続的なカスタマイズが本当に必要になるまで推奨)。