代码之家  ›  专栏  ›  技术社区  ›  Mask

Eclipse cdt没有提供足够的错误信息

  •  0
  • Mask  · 技术社区  · 16 年前
      YYSTYPE yyvsa[YYINITDEPTH];
      YYSTYPE *yyvs = yyvsa;
      register YYSTYPE *yyvsp;
    

    对于上面的代码,它只报告:

    Description Resource    Path    Location    Type
    syntax error before "yyvsa" yysphinxexpr.c  /sp/src line 852    C/C++ Problem
    

    1 回复  |  直到 16 年前
        1
  •  0
  •   Kaleb Pederson    16 年前

    那碎片看起来很合理。每当遇到一条没有意义的错误消息时,我都会尝试使用如下过程缩小它的范围:

    1. 手动编译文件,查看错误是否相同或在显示之前正在解释
    2. 预处理文件,然后手动检查。有时宏会踩在自己身上或做一些你不期望的事情。如果您可以对文件进行预处理(例如gcc-e[opts]文件名),您将看到编译器最终在处理什么,这可能会有所帮助。
    3. 尝试使用其他编译器。有时不同的编译器会生成一条错误消息,这对您更有意义。。。或者你会发现有人做了某些编译器才允许的事情。