2008-10-22 43 views
3

我無法弄清楚這一點。我可以從gnuwin32下載一個flex2.5.4a的win32二進制文件,但是我想用Visual Studio 2005構建最新版本(2.5.35)。我想我可以用cygwin構建,但是那裏的樂趣在哪裏?如何在Visual Studio 2005/2008中編譯flex?

+0

如果你詳細闡述了你做了多少,它可能會有所幫助。 – JesperE 2008-10-22 18:24:57

回答

1

因爲沒有人提供了一個令人滿意的答案,我在這裏發佈我的最終解決方案。

我無法在vs 2005或vs 2008中找到構建flex的方法。相反,我使用的是與cygwin一起發佈的flex,這是相當新的。爲了節省自己在每臺需要使用flex的機器上安裝cygwin的麻煩,我只保存了依賴關係:cygwin1.dll和cygintl-8.dll。

只有一個警告 - cygwin的flex也取決於m4,儘管你不會在依賴walker上看到它。它需要在路上,這是一個痛苦。您可以使用cygwin的m4.exe,但它也取決於cygwin1.dll,這需要位於m4執行的路徑中。

即使如此,我只是檢查所有這些文件到我的svn下的工具文件夾,然後當我需要在另一臺機器上開發,得到我的代碼和flex與svn,複製m4.exe和cygwin1.dll到windows \ system32文件夾,我在做生意。

2

請注意,在生成C++掃描程序時,Flex在Windows上嚴重過時。最近能夠生成ISO C++掃描程序的Flex版本不支持Win32(MinGW或VS),所以您最好試圖生成C掃描程序並從C++中調用它。

0

爲什麼你不想嘗試Boost的Spirit框架?

1

您還可以在sourceforge.net下載MINGW(Minimalist GNU for Windows)構建flex 2.5.35。這個構建可能不是完全獨立的;發行說明建議需要MSYS(最小SYSytem)的某些組件。