1

Xcode 4を使用してソケットプログラミングに手を出すと、いくつかの奇妙なエラーが発生しますaddrinfo.(Xcode 3を使用している場合)動作した別のプロジェクトからコードをコピーしただけなのに、宣言されていないエラーが発生します. プロジェクトは主にObjective-Cですが、プレーンCで別のフレームワークを作成することをテストしましたが、エラーはまだ残っています.

次のフレームワークが含まれています。

  • ApplicationServices.framework
  • Cocoa.framework
  • AppKit.framework
  • Foundation.framework

リンカーフラグも追加されていません。

addrinfoただし、getaddrinfo (それ自体を使用します!)などの他の関数が存在します。何か案は?

4

3 に答える 3

3

この問題はIDEに関連するものではなく、言語の問題でした。構造体の処理方法は、C(したがってObjective-c)とC ++(以前のプロジェクトは=でした)では明らかに異なります。そこで、行を変更しました

addrinfo hints;

に:

struct addrinfo hints;
于 2011-05-26T06:52:50.527 に答える
1

正しいインポートを取得しましたか?

#import <netinet/in.h>
#import <sys/socket.h>
于 2011-05-24T17:07:36.193 に答える
0

簡単な grep は、struct addrinfo が <netdb.h> で宣言されていることを示しています。それを明示的に含めてみてください。(Xcode 3 プロジェクトのプレフィックス ファイルに、それまたはそれを含む他のヘッダーが含まれている可能性があります。)

于 2011-05-24T18:41:06.717 に答える