我最近添加一些代码OpenFeint的我类和改变他们.mm重复的符号
突然我得到重复的符号错误的目标文件建立时发现。
LD:重复的符号_audioPlayer中等等等等/Objects-normal/i386/Stage2.o和/用户/等等等等.build /调试-iphonesimulator/blah.build /对象 - 正常/ I386/Stage1.o
为什么突然造成这个错误?究竟是什么错误?
我在不同的类中有相同名称的变量,它应该是一个问题?
感谢
我最近添加一些代码OpenFeint的我类和改变他们.mm重复的符号
突然我得到重复的符号错误的目标文件建立时发现。
LD:重复的符号_audioPlayer中等等等等/Objects-normal/i386/Stage2.o和/用户/等等等等.build /调试-iphonesimulator/blah.build /对象 - 正常/ I386/Stage1.o
为什么突然造成这个错误?究竟是什么错误?
我在不同的类中有相同名称的变量,它应该是一个问题?
感谢
你可能会声明两个变量与全局范围内的相同名称(不在接口内部),链接器正在抱怨。
简短的回答是,你可以抑制这个错误的命令行参数GCC: 轮候册, - 允许用多重定义
如果在.mm文件中执行如下所示的方法,将会发生duplicate symbol error
。
#import <Foundation/Foundation.h>
class CppTestOne
{
public:
void Test();
// {
// NSLog(@"Hello C Plus Plus");
// }
};
void CppTestOne::Test()
{
NSLog(@"Hello C Plus Plus");
}
那么你可以通过
#import <Foundation/Foundation.h>
class CppTestOne
{
public:
void Test()
{
NSLog(@"Hello C Plus Plus");
}
};
//void CppTestOne::Test()
//{
// NSLog(@"Hello C Plus Plus");
//}
进一步了解这个错误并不清楚
如果导入一个.m文件,而不是.H也会出现此错误执行你的方法。
#import "SomeClass.m"
如何在XCode中执行此操作?谢谢 – jarryd 2011-01-26 18:18:57