2013-09-24 41 views
0

在我研究的Unity iOS项目中,存在“不同语言链接”问题;这是在Xcode 4的警告,却成为在Xcode 5“不同的语言链接” - xcode 4中的警告,xcode 5中的错误

/.../Libraries/SomeFile.mm:145:10: Declaration of 'SomeMethod' has a different language linkage 

这里的错误是文件:

void SomeMethod(const char* _List); 

... 

extern "C" 
{ 
    void SomeMethod(const char* _List) 
    ... 
} 

我怎么能解决这个问题,或者,至少(因为它是不是真的重要的,至少能够建立一些东西会很好),再次警告一次?

回答

3

您需要将声明包含在extern "C"中未定义。可以肯定的是,你可以将它们都包在里面。 (虽然如果我没有记错的话,只要做了声明就足以让编译器知道你的定义意图。)像这样:

extern "C" 
{ 
    void SomeMethod(const char* _List); 
} 

... 

extern "C" 
{ 
    void SomeMethod(const char* _List) 
    ... 
}