Пользовательские правила сборки, которые Jarda указывает, являются самыми простыми. Ниже приведена альтернатива правилам пользовательской сборки.
Не используйте предварительно скомпилированные заголовки, если вы не знаете, как использовать их достаточно хорошо, чтобы использовать их для этого. У меня была проблема с этим, когда я жаловался на переопределения макросов и преждевременный конец файла, пока я не отключил использование предварительно скомпилированных заголовков.
Создайте «Консольное приложение Win32» и сделайте его пустым проектом (без сгенерированного исходного кода). Например, я использую «SimpleFlex» в качестве имени моего проекта.
Необязательно : Вы можете настроить фильтры для папок VS, чтобы входной файл Flex отображался в папке «Исходные файлы». В свойствах папки «Исходные файлы» добавьте расширение («l» или «lex») в список расширений.
Затем создайте файл с расширением "l" (или "lex") для проекта; например, «SimpleFlex.l». В файле используйте один из примеров ниже. Затем в настройках проекта создайте Custom Build Step. Если вы не знакомы с пользовательскими сборками, найдите вкладку «Шаг пользовательской сборки» в настройках проекта. Используйте следующие шаги для пользовательского шага сборки:
Описание : Генератор лексического анализатора
Команды : C: \ Software \ FLEX252 \ flex.exe -o $ (ProjDir) \ $ (InputName) .cpp
$ (InputPath)
Выходы : $ (ProjDir) \ $ (InputName) .cpp
Где:
Описание - это все, что вы хотите использовать
Команды Состоит из пути к Flex, выходного файла и входного файла. Вам нужно будет изменить путь для Flex на тот, который подходит для вашей системы.
Outputs Указывает имя файла выходного файла.
После предоставления кода для входного файла Flex, создающего шаг пользовательской сборки, скомпилируйте файл. Вы можете использовать Ctrl-F7, чтобы просто скомпилировать. На самом деле, на данный момент, вы можете просто построить проект; сборке ничего не остается, кроме как генерировать сканер (файл cpp). Пользовательская сборка должна выполнять Flex, но вы узнаете только об этом, потому что описание отображается в выводе Build. Файл cpp должен был быть сгенерирован, и тогда он может быть добавлен в проект. Если вы получаете ошибки, которые я описал выше (переопределения макросов и преждевременный конец файла), отключите предварительно скомпилированные заголовки для проекта.
Процедура для зубров очень похожа.