2011-07-28 2 views
4

2年前のゲームコードが完全にxcode(obj Cではない)のcppで書かれています。今度はXcode 4の最新バージョンでこのゲームを実行しなければなりません。このゲームはXcode 3.2.5で素晴らしいものです。しかし、私はXcode4でゲームを構築すると、次のエラーが表示されます。最新のXcode 4で古いゲームビルドを実行すると、stdio.hのC関数と競合が発生する

GCC 4.2 Error: Declaration of C function 'int printf(int, const char*, ...)' conflicts with in /Developer/Xcode4/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/usr/include/stdio.h

The red mark appear in line number 446 in stdio.h

誰もがここで起こっているものを私に提案してくださいことはできますか?前もって感謝します。どんな提案も非常に認められるだろう。

+0

誰でもここに答えますか?あるいは私は間違ったコミュニティで尋ねていますか? :? –

+0

これは通常通りの問題です。 –

答えて

0

あなたのコードがC++で書かれているか(あなたの質問にはcppが記載されている)、Cで書かれているかどうかは分かりません。

とにかく、公式printf()のプロトタイプには最初の引数としてintが含まれていないため、Xcode4には正当な理由があります。私は私のタイプ定義ファイルのいずれかでこの行の定義をコメントし

+0

よくこのゲームにはたくさんのコードがあります。ほとんどのファイルはC++ファイルですが、一部のCファイルもライブラリに含まれています。上のパスと行番号446のstdio.hファイルを見てください。ここではエラーがどのように発生したのか不思議です。これ以上の提案はありますか? http://stackoverflow.com/questions/6854271/running-old-game-build-in-latest-xcode-4-creates-conflicts-with-c-function-in-std – mysticboy59

+0

あなたは正しいことは 'printf() 'は最初の引数が' int'ではありません。私はその行のプロジェクト全体を検索しましたが、見つけられません。私は実際にその参照がどこに起こっているのか分からない。私は何が起こっているのか調べるべきである何か? – mysticboy59

0

#define dprintf printf

正常にビルドゲームコード。問題は、printfdprintfと定義されていて、Xcode4のstdio.hには独自のdprintfの定義があることでした。それで、それは衝突を起こしましたが、以前のバージョンのXcode 3.2.5とうまく機能しました。私は、Xcodeのライブラリファイルにもいくつかの変更があると思います。

この問題で私を助けようとしてくれた皆様、ありがとうございます!

関連する問題