2011-03-23 3 views
0

시뮬레이터를 사용할 때 -> 릴리스 구성에서 코드가 실행 중입니다. 내가 시뮬레이터를 사용하는 경우 만 -> 디버그 구성은 코드를 오류 여기iPhone : - 인라인 함수 사용 : - 디버그 구성을 사용할 때 오류가 표시됩니다.

Undefined symbols: 
    "_AGTileInfoEqualToAGTile", referenced from: 
     -[TiledScrollView loadTileAtPoint:] in TiledScrollView.o 
    "_AGTileInfoMake", referenced from: 
     -[TiledScrollView loadTilesIfNeeded] in TiledScrollView.o 
ld: symbol(s) not found 
collect2: ld returned 1 exit status 

다음 사전에

typedef struct 
{ 
    NSString *dataSet; 
    NSInteger level; 
    NSInteger x; 
    NSInteger y; 


}AGTileInfo; 


/* Make a AGTileInfo */ 
inline AGTileInfo AGTileInfoMake(NSString *dataSet, NSInteger level, NSInteger x, NSInteger y); 

inline AGTileInfo 
AGTileInfoMake(NSString *dataSet, NSInteger level, NSInteger x, NSInteger y) 
{ 
    AGTileInfo tInfo; tInfo.dataSet = dataSet; tInfo.level = level; tInfo.x = x; tInfo.y = y; return tInfo; 
} 



inline bool AGTileInfoEqualToAGTile(AGTileInfo info1, AGTileInfo info2); 

inline bool 
AGTileInfoEqualToAGTile(AGTileInfo info1, AGTileInfo info2) 
{ 
    return [info1.dataSet isEqualToString:info2.dataSet] && (info1.level==info2.level) && (info1.x == info2.x) && (info1.y == info2.y) ; 
} 

감사합니다 날입니다주고있다.

답변

0

감사 :

이에서보세요. 그의 링크는 정말 도움이되었습니다. 내가 한 모든 것은 인라인 전에 "정적"수정자를 추가하는 것입니다. 여기에 새로운 코드가 있으며 잘 작동합니다.

static inline AGTileInfo AGTileInfoMake(NSString *dataSet, NSInteger level, NSInteger x, NSInteger y); 

static inline AGTileInfo 
AGTileInfoMake(NSString *dataSet, NSInteger level, NSInteger x, NSInteger y) 
{ 
    AGTileInfo tInfo; tInfo.dataSet = dataSet; tInfo.level = level; tInfo.x = x; tInfo.y = y; return tInfo; 
} 


static inline bool AGTileInfoEqualToAGTile(AGTileInfo info1, AGTileInfo info2); 

static inline bool 
AGTileInfoEqualToAGTile(AGTileInfo info1, AGTileInfo info2) 
{ 
    return [info1.dataSet isEqualToString:info2.dataSet] && (info1.level==info2.level) && (info1.x == info2.x) && (info1.y == info2.y) ; 
} 
관련 문제