【发布时间】:2011-05-24 17:01:37
【问题描述】:
在使用 Xcode 4 涉足某些套接字编程时,我遇到了一些奇怪的错误。我得到了 addrinfo 未声明的错误,尽管我只是从另一个有效的项目中复制代码(使用 Xcode 3 时) )。该项目主要是Objective-C,但我已经测试过用纯C创建另一个框架,错误仍然存在。
我包含以下框架:
- ApplicationServices.framework
- Cocoa.framework
- AppKit.framework
- Foundation.framework
也没有添加链接器标志。
但是,还有其他函数,例如 getaddrinfo(使用 addrinfo 本身!)。有什么想法吗?
【问题讨论】:
-
netdb.h 是否对结构进行类型定义?也许你以前的代码做了,但没有被复制过来。
-
@zjaquish:做到了! (几乎)我记得以前的项目是用 c++ 编写的,所以我猜想结构的语义发生了变化,在转换为 c/objective-c 时会导致此错误。我该怎么做才能解决这个问题?头文件 netdb.h 没有 typedef 结构。
标签: objective-c c sockets xcode4 ios-frameworks