我最近添加一些代碼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