2008-10-22 87 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)的某些组件。