ios - "Different language linkage"— xcode 4 中的警告,xcode 5 中的错误

标签 ios xcode unity-game-engine xcode5

在我从事的 Unity iOS 项目中,存在“不同语言链接”问题;它在 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)
    ...
}

我怎样才能修复它,或者至少(因为它并不是那么重要,而且至少能够构建一些东西会很好),让它再次成为一个警告?

最佳答案

您需要将声明 包装在extern "C" 而不是定义中。可以肯定的是,您可以将两者都包含在其中。 (不过,如果我没记错的话,只进行声明就足以告知编译器您的定义意图。)像这样:

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

...

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

关于ios - "Different language linkage"— xcode 4 中的警告,xcode 5 中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18980649/

相关文章:

unity-game-engine - 当代码中的值发生更改时,检查器不更新

ios - 仅在 iOS 中基于 cordova 的应用程序中本地(!)AJAX 请求失败且没有错误消息

ios - SecItemAdd() 返回 errSecInteractionNotAllowed (-25308)

xcode_backend.sh : no such file or directory. 我需要创建这个文件吗?

iphone - 从 iPhone 应用程序通过 WIFI 将文件导出到计算机 -

unity-game-engine - 如何在统一的GUI中更改字体类型

php - 如何保护与 iOS 应用程序一起使用的 PHP 脚本

ios - Sqlite 查询也可以获取带有相邻词的搜索词

iphone - 计算两个CGPoint的外点

ios - 适用于 IOS 的 Unity IAP — 未找到应用程序收据