当前位置: 代码迷 >> Iphone >> 运用Three20时,提示找不到:TTCreateNonRetainingArray()
  详细解决方案

运用Three20时,提示找不到:TTCreateNonRetainingArray()

热度:52   发布时间:2016-04-25 06:31:30.0
使用Three20时,提示找不到:TTCreateNonRetainingArray()
我的代码是:
- (id)init {

  if (!(self = [super init])) {
  // 初始化成员
  locationManager = [[CLLocationManager alloc] init];
  locationManager.delegate = self;
  locationManager.desiredAccuracy = kCLLocationAccuracyBest;
  locationManager.distanceFilter = 10.0f; // in meters
   
  // 创建委托数组
  _delegates = TTCreateNonRetainingArray(); // 就是这里!!!!
   
  statusLocation = LocationInit;
  self.currentLocation = nil;
  }
  return self;
}


链接错误是:
Undefined symbols:
  "TTCreateNonRetainingArray()", referenced from:
  -[xxxxx init] in xxxxx.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

提示的是链接错误,说明头文件包含了,我查过了,TTCreateNonRetainingArray()函数在头文件:TTGlobalCore.h中
对应的库是: libThree20Core.a。库我链接了,加入到 Fromeworks 中。还有什么地方遗漏了吗?

------解决方案--------------------
不是有个配置three的教材嘛,好好看看。
里面有很多东西要设置,我也不知道你哪里出问题了
------解决方案--------------------
这种问题一般从这几个方面查:
1.头文件
2. 看Other Linker Flags中写你需要得静态库名了没有,比如:lXXX
3.看Library Search Path选项,是否把库文件路径加上
------解决方案--------------------
你用nm命令确定libThree20Core.a库中是否含有TTCreateNonRetainingArray方法。