0

Cで書かれたビデオデコーダーのソースコードがあります。コードは正常にコンパイルされ、MACターミナル(GCCコンパイラーを使用)で実行されました。現在、同じソース コードを使用して Xcode でアプリケーションを作成しようとしています。アプリケーションの GUI のみが Objective-C で記述されています。

Xcode (LLVM コンパイラを使用) で実行しようとすると、C コードで多くのエラーが発生します。Xcode が提供するその他のコンパイラ オプションは、LLVM GCC 4.2 だけです。それを使ってコンパイルしたところ、Objective-C で書かれたコードを認識できないことがわかりました。

Objective-C と C の両方に使用できるコンパイラはありますか? Objective-C コードのコンパイルに GCC 4.2 コンパイラを使用できますか?

GCC 4.2コンパイラを使用してコンパイルするようにXcodeに指示するには?

親切に助けてください。前もって感謝します!

4

2 に答える 2

2

LLVM と GCC の両方を使用して、C、C++、および Objective-C コードをコンパイルできます。

私の推測では、一部のコンパイラ フラグが正しく設定されていません。

于 2013-03-04T08:33:30.587 に答える
0

Objective-C は ANSI C の厳密なスーパーセットであるため、Objective-C コードをコンパイルできるコンパイラは、(ANSI) C コードもコンパイルできます。ライブラリが標準 C を使用していない場合、問題が発生する可能性があります。

同じことは、C++ の厳密なスーパーセットである Objective-C++ にも当てはまります。

あなたの場合のように、typedefヘッダー ファイルに競合がある場合は、条件付きコンパイルを使用して、typedefObjective-C コードのコンパイル時に非表示にすることができます。

#ifndef __OBJC__
typedef unsigned char BOOL;
#endif
于 2013-03-04T08:46:56.773 に答える