#import <Foundation/Foundation.h>@interface CZDog : NSObject
{
@public
char *_name;
BOOL _canbit;
}
@end@interface person : NSObject
{
int _age;
}
- (void) bitdog:(CZDog *)dog1 tobit:(CZDog *)dog2;
@end@implementation person
- (void) bitdog:(CZDog *)dog1 tobit:(CZDog *)dog2{
if (dog2->_canbit == YES) {
NSLog(@"%s bit %s",dog1->_name,dog2->_name);
}else
NSLog(@"I can not bit");}
@endint main(int argc,char **argv){
CZDog *dog1 = [CZDog new];
CZDog *dog2 = [CZDog new];
dog1->_name = "dog1";
dog1->_canbit = YES;
dog2->_name = "dog2";
dog2->_canbit = NO;
person *p1 = [person new];
[p1 bitdog:dog1 tobit:dog2];
return 0;
}Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_CZDog", referenced from:
objc-class-ref in main.o
"_OBJC_IVAR_$_CZDog._canbit", referenced from:
-[person bitdog:tobit:] in main.o
_main in main.o
"_OBJC_IVAR_$_CZDog._name", referenced from:
-[person bitdog:tobit:] in main.o
_main in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
{
@public
char *_name;
BOOL _canbit;
}
@end@interface person : NSObject
{
int _age;
}
- (void) bitdog:(CZDog *)dog1 tobit:(CZDog *)dog2;
@end@implementation person
- (void) bitdog:(CZDog *)dog1 tobit:(CZDog *)dog2{
if (dog2->_canbit == YES) {
NSLog(@"%s bit %s",dog1->_name,dog2->_name);
}else
NSLog(@"I can not bit");}
@endint main(int argc,char **argv){
CZDog *dog1 = [CZDog new];
CZDog *dog2 = [CZDog new];
dog1->_name = "dog1";
dog1->_canbit = YES;
dog2->_name = "dog2";
dog2->_canbit = NO;
person *p1 = [person new];
[p1 bitdog:dog1 tobit:dog2];
return 0;
}Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_CZDog", referenced from:
objc-class-ref in main.o
"_OBJC_IVAR_$_CZDog._canbit", referenced from:
-[person bitdog:tobit:] in main.o
_main in main.o
"_OBJC_IVAR_$_CZDog._name", referenced from:
-[person bitdog:tobit:] in main.o
_main in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_xx文件名", referenced from:
下面是可能导致这类问题出现的原因及修改:
1.相关工程文件未导入
你可以直接在这里+进来,也可以在左边工程目录中把文件全部重新导人一遍(多人操作工程时,一般这种解决办法)
2..framework文件未导入
把xx文件库+进来,本问题"_OBJC_CLASS_$_ASIdentifierManager", 就是因为AdSupport.Framework类库未加
3.文件路径缺失检查是否某些文件路径未加入进来或者写错了
工程编译报出:Undefined symbols for architecture i386:和"_OBJC_CLASS_$_xx", referenced from:错误,问题大致是由于上面这几种情况,把各个方面检查下基本就ok了。
版权声明:本文为博主原创文章,未经博主允许不得转载。