2010-03-25 90 views
0
YYSTYPE yyvsa[YYINITDEPTH]; 
    YYSTYPE *yyvs = yyvsa; 
    register YYSTYPE *yyvsp; 

足够的信息,上面的代码,它只是报道:Eclipse CDT的不给错误

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

中远离有用的,是它配置的原因?

+0

看起来你正在使用Flex/Bison。这是产生错误的生成代码吗?如果您手动在该文件上运行编译器会发生什么情况? – 2010-03-25 17:27:01

+0

这是一个开源项目的资产,我还没有手动添加任何东西。 – Mask 2010-03-25 17:32:42

回答

0

该片段看起来合理。每当我碰到一个错误信息没有任何意义,我试着将它缩小使用如下的过程:

  1. 验证,我可以用尽可能少的依赖尽可能重现错误(例如,删除不必要的类别,包括等)
  2. 手动编译文件并查看错误是否相同或正在被解释之前
  3. 预处理文件,然后手动检查。有时候宏会踩踏他们自己,或者做一些你不期望的事情。如果您可以预处理文件(例如gcc -E [opts]文件名),您将看到编译器最终处理的内容,这可能会有所帮助。
  4. 尝试使用不同的编译器。有时候一个不同的编译器会产生一个错误信息,对你更有意义......否则你会发现有人做了一些只有某些编译器才允许的东西。