【问题标题】:How to make android studio highlight C code?如何让android studio高亮C代码?
【发布时间】:2016-03-17 04:13:32
【问题描述】:

我在我的 ndk 项目中使用 Gradle 实验性插件。但看起来 Android Studio 并没有看到像 memset()fwrite() 这样的所有 C 函数。它们是红色的(如下面的屏幕截图所示),当项目编译没有错误时,将光标移到它Cannot resolve variable 'memset' 上时会出现错误提示。所有 c++ 代码都完美突出显示。有什么办法可以解决吗?

UPD1:也发现了this issue,不过看来,这个问题不仅仅在ndk版本。

UPD2: 似乎问题出在指定的运行时。现在我使用stl "c++_static",如果我将它切换到gnustl_static,高亮效果很好。

【问题讨论】:

    标签: android android-studio android-ndk


    【解决方案1】:

    Android NDK 中仍有限制。 Android Studio 尚未更新以完全处理实验性插件,因此如果您的代码运行,请确保拼写错误并忽略警告和红线。

    正如here 所述,直到 Android Studio 1.3 版之前,开发人员还没有添加创建 Android NDK 项目的简单方法。相反,要探索 Android NDK 支持,要么

    1. 遵循Experimental Gradle Plugin 文档,该文档描述了如何修改您的项目以使用当前版本的实验性插件,或者

    2. 查看一些现有的 Android NDK 示例,这些示例已更新以与新的 Gradle 插件一起使用。

    完成后,您现在可以构建和运行项目,并探索各种编辑功能:示例看起来像

    【讨论】:

    • 实际上,我已经在使用 Experimental Gradle Plugin 和最新版本的 android studio (2.1)。请仔细阅读我的问题,问题仅出现在 c 代码中,对于 c++ 它运行良好
    • Android Studio 尚未更新以完全处理实验性插件,因此如果您的代码运行,请确保拼写错误,但警告和红线...
    • 如果你看一下我的截图,没有错别字。 memset 是标准的 c 函数。所有 c 函数都会出现此问题,例如 fwritememcpy,甚至是 FILE 结构。我怀疑 android studio 中是否有 c++ 支持而没有 c 支持。
    • 不,我不是故意说它的错误,但是它们不会被检测到,因为 NDK 可能没有在 android studio 中完全实现来检测所有方法。所以我建议你一定要输入这样的方法并忽略警告......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-23
    • 2014-08-16
    • 1970-01-01
    相关资源
    最近更新 更多