使用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方法。