2013-04-10 12 views
1

摘要:需要更多的眼睛在窗戶的doxygen編譯察覺的錯誤

1>Executing Lex for d:\usr\doxygen\src\code.cpp ... 
1>flex: can't open ..\src\code.l 
1>Project : error PRJ0019: A tool returned an error code from "Executing Lex for d:\usr\doxygen\src\code.cpp ..." 

詳細

我編譯偶爾使用Doxygen的來源(http://www.doxygen.org/)公佈其Windows二進制來自SVN版本。 Visual Studio C++ 2008(即版本9)用於此目的。由於Doxygen資源也使用yacc和lex工具,cygwin野牛和flex在過去成功使用。它停止了工作。也就是說,flex會抱怨找不到它的來源(如上面的摘要所示)。屈撓我的電腦上的版本是:

d:\>flex --version 
flex 2.5.35 

的VS項目winbuild\Doxygen.vcproj被配置爲啓動Flex和Visual Studio的顯然產生爲目的的批處理文件。生成日誌包含以下內容:

Creating temporary file "d:\usr\doxygen\winbuild\Debug\BAT00000241406084.bat" with contents 
[ 
@echo off 
flex -PcodeYY -od:\usr\doxygen\src\code.cpp ..\src\code.l 
if errorlevel 1 goto VCReportError 
goto VCEnd 
:VCReportError 
echo Project : error PRJ0019: A tool returned an error code from "Executing Lex for d:\usr\doxygen\src\code.cpp ..." 
exit 1 
:VCEnd 
] 
Creating command line "d:\usr\doxygen\winbuild\Debug\BAT00000241406084.bat" 

當從命令行手動嘗試的命令,我真的可以觀察到相同的:

d:\usr\doxygen\src>flex -PcodeYY -od:\usr\doxygen\src\code.cpp ..\src\code.l 
flex: can't open ..\src\code.l 

但是,通過正常的路徑替換反斜槓時的code.l斜槓,它的工作原理:

d:\usr\doxygen\src>flex -PcodeYY -od:\usr\doxygen\src\code.cpp ../src/code.l 

我不知道,如果在柔性版反斜線與斜線的問題是新引進的bug /功能,或者不。有沒有辦法解決這個問題?

+1

Cygwin的不支持與反斜槓路徑。能否應與GNU工具贏而不是http://gnuwin32.sourceforge.net/packages.html嘗試在doxygen的手冊的安裝章節建議。 – doxygen 2013-04-10 17:06:25

+0

嗨Dimitri。我確實嘗試過,但對我並不適用。實際上,cygwin確實支持帶反斜槓的路徑 - 它只會警告我應該使用POSIX路徑。 – pepr 2013-04-11 08:20:28

回答

0

我更努力,找到了原因。 cygwin實際上在過去爲我工作。它仍然適用於反斜槓 - 它只顯示關於更好地使用POSIX路徑的警告。

的原因是,我已經安裝帶來了更多的flex.exe公用事業更多的工具。首先是msysGit安裝的一部分,第二個是從Ruby的開發工具包。他們兩個都不支持路徑中的反斜槓。重命名後,Doxygen重新開始編譯。

的事實是,GnuWin flex.exe消耗反斜槓沒有任何徵兆 - 我現在prefering它。

相關問題