2009-08-14 105 views
0

我使用boost庫編譯代碼時出現了很多錯誤,主要是當我使用Spirit命名空間時。這些錯誤是升壓文件,如語法錯誤:升壓文件上的編譯錯誤

升壓/精神/家庭/經典/動態/ lazy.hpp(33):錯誤C2143:語法錯誤:缺少 ';'前 '<'

升壓/精神/家庭/經典/動態/ lazy.hpp(33):錯誤C4430:缺少類型說明符 - 假定爲int。注意:C++不支持默認int

升壓/精神/家庭/經典/實用/ grammar_def.hpp(104) :錯誤C2039: 'nil_t':是不是「的boost ::鳳凰」

我從Visual Studio 6遷移到Visual Studio 2008 Express和從最早的版本提升到最新的之一 成員。

我想知道有什麼問題。我認爲這個問題不能在助推庫中。

+0

您是否在任何會影響boost編譯方式的地方使用#define? – 2009-08-14 19:04:21

回答

0

問題已解決,只是包括phoenix1舊版本的鳳凰。謝謝!

0

我的猜測,就像Timi Geusch,是一個錯誤的#define。

我從來沒有使用過VS,但是如果在通過預處理器後有一個選項可以看到代碼,那麼您可能能夠找出導致問題的原因。

+0

VS CL.exe編譯器具有/ E&/ P標誌,它們分別生成處理後的輸出到標準輸出和文件。 – 2009-08-14 21:53:57

+0

我真的不知道可以定義什麼。這是一個很大的代碼。任何想法? – 2009-08-19 20:10:49