Max*_*kov 0 xcode unity-game-engine ios xcode5
在我从事的 Unity iOS 项目中,存在“不同语言链接”问题;这是 xcode 4 中的警告,但在 xcode 5 中变成了错误。
/.../Libraries/SomeFile.mm:145:10: Declaration of 'SomeMethod' has a different language linkage
Run Code Online (Sandbox Code Playgroud)
这是文件:
void SomeMethod(const char* _List);
...
extern "C"
{
void SomeMethod(const char* _List)
...
}
Run Code Online (Sandbox Code Playgroud)
我该如何修复它,或者至少(因为它并不是那么重要,并且至少能够构建一些东西会很好),再次发出警告?
您需要将声明包装在extern "C"而不是定义中。可以肯定的是,您可以将两者都包裹在其中。(不过,如果我没记错的话,只要做声明就足以通知编译器您对定义的意图。)像这样:
extern "C"
{
void SomeMethod(const char* _List);
}
...
extern "C"
{
void SomeMethod(const char* _List)
...
}
Run Code Online (Sandbox Code Playgroud)