1

在使用 Xcode 4 进行一些套接字编程时,我遇到了一些奇怪的错误addrinfo。尽管我只是从另一个有效的项目中复制代码(使用 Xcode 3 时),但我得到了未声明的错误。该项目主要是Objective-C,但我已经测试过用纯C创建另一个框架,但错误仍然存​​在。

我包含以下框架:

  • ApplicationServices.framework
  • Cocoa.framework
  • AppKit.framework
  • 基础框架

也没有添加链接器标志。

但是,存在其他函数,例如 getaddrinfo(使用addrinfo自己!)。有任何想法吗?

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 回答