2010-03-25 519 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. 嘗試使用不同的編譯器。有時候一個不同的編譯器會產生一個錯誤信息,對你更有意義......否則你會發現有人做了一些只有某些編譯器才允許的東西。