0

.CPP とその .h ファイルを作業中のプロジェクトから新しいプロジェクトにコピーしました。

末尾の名前を .CPP から .mm に変更しましたが、それでもエラーが発生します。

.h ファイルの class definition の近くに class MeterTable;

.mm ファイルには、あらゆる種類のエラーがあります。

実装ファイル .mm の末尾を変更すると、これらすべてのエラーが消去されると思いました。はい、古いプロジェクトでコンパイルされた元の .CPP ファイルです。

4

3 に答える 3

2

.hそのファイルを他のファイルに含めているようです.m。C++ ヘッダーを C または Objective-C ソース ファイルにインクルードすることはできません。C++ インターフェイスが C と互換性があることを確認する必要があります (クラスはなく、オーバーロードなしのフリー関数のみ)。.mまたは、プロジェクト内のすべてのファイルを に変更する必要があります.mm

于 2012-10-16T18:23:29.693 に答える
0

Objective-C と C++ はうまく連携できますが、注意点がいくつかあります。まず、C++ コードを参照するファイル (つまり、ヘッダーを介して) は、Objective-C ではなく.m、Objective-C++ ソースとして定義する必要があります。これは、ファイルの File Inspector に移動し、ファイル タイプをからsourceに変更することで、ケースバイケースで実行できます。次に、同じメソッドを使用してand (または、実際の拡張子は実際には問題ではなく、定義された型です) をおよびsource としてそれぞれ定義します。.mObjective-C SourceObjective-C++.h.cpp.mmC++ HeaderObjective-C++

このファイル タイプの区分化を使用している限り、Objective-C と C++ を自由に混在させることができます。私は通常、このパラダイムを使用して iOS コードで C++ を使用します。

于 2013-09-14T17:38:23.560 に答える