struct addrinfo在Xcode 4中未声明

时间:2011-05-24 17:01:38

标签: objective-c c sockets xcode4 ios-frameworks

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

我有以下框架:

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

没有添加链接器标记。

但是,存在其他函数,例如getaddrinfo(使用addrinfo本身!)。有什么想法吗?

3 个答案:

答案 0 :(得分:3)

此问题与IDE无关,这是一个语言问题。结构如何处理在C(以及Objective-c)和C ++(之前的项目是=。所以我改变了行

中显然是不同的。
addrinfo hints;

要:

struct addrinfo hints;

答案 1 :(得分:1)

你有正确的进口吗?

#import <netinet/in.h>
#import <sys/socket.h>

答案 2 :(得分:0)

快速grep显示struct addrinfo在&lt; netdb.h&gt;中声明。尝试明确地包括它。 (您的Xcode 3项目可能在其前缀文件中包含了该项目或包含它的其他标题。)