2013-11-25 28 views
0

我碰到了一個catch 22的情況,我已經在doxygen的當前發行版本中遇到了一個錯誤,它已經阻止了我在我的軌道中。幸運的是,它看起來像bug通過git中的補丁修復。在windows上構建doxygen,xapian.lib以及如何運行flex

所以,這裏是我的問題開始的地方,我需要從最新的git構建windows的doxygen。哎唷,這方面的幫助真的很薄弱。

無論如何,我已經有了構建核心(doxygen.exe)的源代碼和所有依賴關係。在最新版本的源代碼中,這很好。但是git的來源給我一些麻煩,在這裏有一個例子:

1> .. \ SRC \ vhdlscanner.l(766):錯誤C2065:vhdlscannerYY_flex_debug「:未聲明的標識符

所以,我猜測我需要使用flex和bison來運行一些源文件準備命令。有一個我可以使用的方便的腳本,或者有人可以給我一些命令。

我有點放棄了試圖構建整個doxygen項目,因爲它看起來像它需要xapian ......我去建造(僅核心),它似乎並沒有產生xapian.lib。所以我在那裏洗腦,任何提示都會是一個不錯的獎勵。

一些版本的東西,也許是重要的,但我對此表示懷疑:

的Visual Studio C++ Express 2008的(2005 & 2013也可以,如果他們更好地爲這個) 野牛2.4.1 柔性2.5.4 QT 4.8.5 Xapian的(核心)1.2.8 & 1.0.23

乾杯, 克雷格。

+0

因此,一個骯髒的黑客是要經過源文件並刪除其啓動「printlex(yy_flex_debug,」的行 是否有這樣的腳本 已停止我的錯誤仍然存​​在於最新的來源。? 看起來doxygen無法爲我的一些包文件(應該是CLASS_SEC,我得到VARIABLE_SEC)生成一個正確的節代碼,我會追捕它,並希望最終提交補丁,但一些指導將是讚賞,因爲我是新來的doxygen代碼庫 任何幫助如何爲doxygen構建xapian也將不勝感激。 – Craig

+0

printlex是doxygen的最後一個補充(用於調試目的)之一,它在消息中定義。 cpp/message.h。用於構建do xygen.exe xapian不是必需的,它只是在單獨的可執行文件中搜索索引所必需的。要生成doxygen,你需要python(2.7),flex和bison。 – albert

+0

您可以從這裏下載用於Windows的prebuild xapian庫:ftp://ftp.stack.nl/pub/users/dimitri/xapian_doxygen_win.zip – doxygen

回答

0

看起來像是我的Flex版本導致了問題。

我從gnu32項目中得到了它(http://gnuwin32.sourceforge.net/packages/flex.htm)。這是一個非常舊的版本2.5.4a(1997)。這是doxygen構建指南建議我從中獲得的地方。

使用Win Flex-Bison項目(http://sourceforge.net/projects/winflexbison/files/latest/download)對它進行了更新,它工作正常。也許窗戶製作指南應該更新?

flex和bison的最低版本需要什麼才能正確構建?

P.S.我現在可以使用xapian等構建,但它會拋出大量關於vc90.pdb丟失的警告,應該將其添加到xapian_doxygen_win.zip文件中。

+0

帶有更新的flex的新版本也解決了我試圖修復的錯誤。 – Craig

相關問題