0

私は自分の C++ エンジンを Mac に移植する過程にあるので、premake を使用して xcode プロジェクトを生成しましたが、これはうまくいきます。

Box2D はエンジンに組み込まれており、そのファイルの 1 つ "b2Broadphase.h" には、c++ 標準ライブラリのアルゴリズムが含まれています。

これにより、ctime ファイル内の::clock_t has not been declaredすべてのコマンドに対して次のエラーが発生します。using

premake を使用して make ファイルをビルドすると、正常に実行され、OSX 上で完璧なライブラリがビルドされるため、これを理解することはできません。これらのエラーを与える唯一の Xcode です。

4

1 に答える 1

0

私の推測では、Xcode が実装ファイル (.m または .cpp) を含めるように構成されていないか、使用しているライブラリにリンクするように構成されていません。一般に、次の 2 つのことを行う必要があります。1. ヘッダーを含めます。2. 実際の実行可能オブジェクトを使用してライブラリーにリンクします。

Xcode では、左側のファイル ブラウザー パネルでプロジェクト (一番上の項目) を選択することでこれを行います。メイン領域には、リンクするライブラリを選択するセクションがあります。ヘッダーをインポートした場合でも、使用しているライブラリにリンクするように具体的に指示する必要があります。

.cpp または .m 実装ファイルの場合、そのファイルをコンパイルのターゲットに含めるように指示する必要があります。これは、ビルド設定 (lib インクルードと同様の場所) で行うか、ファイルを選択したときに、右側のインスペクター パネルに、ファイルを含めるターゲットを選択するための小さな領域があります。 .h ファイルではなく、このような実装ファイルのみを「含める」必要があります)

于 2012-09-01T20:49:53.750 に答える