【问题标题】:Eclipse CDT complains about unresolved functions but still builds successfullyEclipse CDT 抱怨未解决的功能,但仍然可以成功构建
【发布时间】:2012-04-23 14:41:19
【问题描述】:

以下 C++ 应用程序在 Eclipse CDT 中成功编译和运行,但 IDE 仍然报告错误说明:

Could not resolve function wprintf
#include <stdio.h>
#include <wchar.h>

int main()
{
  wprintf(L"Hello world");
  return 0;
}

目录/usr/includewchar.h 所在的位置)肯定列在包含路径中,否则应用程序将无法编译。在wprintf 上按 F3 报告:

Could not find symbol 'wprintf' in index

这是我的设置:

  • openSUSE 11.4
  • 面向 Java 开发人员的 Eclipse IDE(Indigo Service Release 2 - Build 20120216-1857)
  • Eclipse CDT v8.0.2.201202111925

有谁知道我怎样才能让 Eclipse CDT 正确解决这个功能?

【问题讨论】:

    标签: c++ eclipse eclipse-cdt


    【解决方案1】:

    帮助我的是 在 jni 文件夹上按鼠标右键 属性 > c/c++ 常规 > 路径和符号 添加与中相同的路径 项目 > 属性 c/c++ 常规 > 路径和符号

    希望对你有帮助

    【讨论】:

      【解决方案2】:

      在首选项 -> c/c++ -> 编辑器 -> 索引器禁用索引器,应用,返回首选项,然后再次启用索引。这使得 Eclipse 重新索引工作区。之后,我在编辑器右侧的假红色标志就消失了。

      【讨论】:

        【解决方案3】:

        我的 Juno 版本遇到了同样的问题,在 Fedora 14 上构建 id:20120510-1218。要解决索引问题:导航到首选项 -> c/c++ -> 编辑器 -> 索引器 -> 取消选中“允许启发式解析”包括”

        -一切顺利

        【讨论】:

          【解决方案4】:

          好的,如果 /usr/include 列出正确,则转到preferences -&gt; c/c++ -&gt; Editor -&gt; Indexer -&gt; select Indexer

          有时将它从快速 c/c++ 索引器更改为完整的可以解决问题。

          希望对你有帮助

          【讨论】:

          • 奇怪,我用的是同一个CDT版本,但是没有这些选项,只有C/C++ -&gt; Indexer - enable indexer(但是没办法选择full或者其他),C/C++ -&gt; Editor中没有indexer分类
          【解决方案5】:

          目录 /usr/include(wchar.h 所在的位置)肯定是 在包含路径中列出,否则应用程序不会 编译

          我猜这个目录只在 compiler 包含路径中列出。该目录也必须列在 Eclipse C++ 解析器 Include path 中,才能正确解析函数。

          【讨论】:

          • 我已经检查过,/usr/include 列在 GNU C 和 GNU C++ 的包含目录中。
          猜你喜欢
          • 2022-09-29
          • 1970-01-01
          • 2013-03-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-11-10
          • 1970-01-01
          相关资源
          最近更新 更多