Как компилировать flex в Visual Studio 2005/2008?

Я не могу понять это. Я могу загрузить двоичный файл flex 2.5.4a для win32 из gnuwin32, но я хотел бы собрать последнюю версию (2.5.35) с помощью Visual Studio 2005. Я полагаю, что мог бы построить в cygwin, но где в этом веселье? ?


person rev    schedule 22.10.2008    source источник
comment
Было бы полезно, если бы вы немного уточнили, как далеко вы продвинулись.   -  person JesperE    schedule 22.10.2008
comment
я сдался. мне нравится создавать свои собственные инструменты, но flex не может быть собран в vs2005 без множества модификаций. я мог бы построить его в cygwin. если кто-то нашел секретный соус для создания гибкости в vs200x, я хотел бы знать, что это такое.   -  person rev    schedule 25.11.2008


Ответы (4)


Обратите внимание, что Flex серьезно устарел в Windows, когда речь идет о создании сканеров C++. Последние версии Flex, способные генерировать сканеры ISO C++, не поддерживают Win32 (MinGW или VS), поэтому вам, вероятно, лучше попытаться создать сканер C и вызывать его из C++.

person JesperE    schedule 22.10.2008

поскольку никто не дал удовлетворительного ответа на мой вопрос, я публикую здесь свое окончательное решение.

я не смог найти способ создать flex в сравнении с 2005 или 2008. вместо этого я использую flex, который распространяется с cygwin, который появился довольно недавно. чтобы избавить себя от необходимости устанавливать cygwin на каждую машину, на которой мне нужно использовать flex, я просто избавился от зависимостей: cygwin1.dll и cygintl-8.dll.

есть только одно предостережение — cygwin flex тоже зависит от m4, хотя вы не увидите его на ходунке зависимостей. это должно быть на пути, что делает его болью. вы можете использовать cygwin m4.exe, но это также зависит от cygwin1.dll, который должен быть в пути для выполнения m4.

даже в этом случае я просто проверяю все эти файлы в моем svn в папке инструментов, а затем, когда мне нужно разрабатывать на другой машине, получаю свой код и сгибаю с помощью svn, копирую m4.exe и cygwin1.dll в папку windows\system32 , а я в деле.

person rev    schedule 13.03.2009

Вы также можете загрузить MINGW (Minimalist GNU для Windows) сборку flex 2.5.35 по адресу sourceforge.net. Эта сборка может быть не полностью автономной; в примечаниях к выпуску указано, что необходимы определенные компоненты MSYS (минимальная SYSytem).

person JPaget    schedule 08.05.2010

Почему вы не хотите попробовать фреймворк Spirit от Boost?

person Svetlana    schedule 10.11.2008