Настройка Bison для компиляции входного файла под Visual C 6 - PullRequest
2 голосов
/ 01 марта 2011

Я пытаюсь заставить Бизона сделать это в VC6.Я уверен, что это должно быть проблема с моей конфигурацией.На данный момент у меня есть шаг Custom Build следующим образом.

<Commands>
echo Start parser generation  
"C:\GnuWin32\bin\bison.exe" $(InputPath)  
echo Finish parser generation

<Outputs>
$(ProjDir)\$(InputName).c
$(ProjDir)\$(InputName).h

Я получаю ошибку «C: \ GnuWin32 \ bin \ bison.exe: m4: нет такого файла или каталога», что делает меняЯ думаю, что m4.exe не существует или не находится на пути, но я могу выполнить ту же команду из CMD в том же каталоге без ошибок.

Этот мыслительный процесс заставляет меня думать, что это проблема с параметрами вывода, но я попробовал различные конфигурации без удачи.

Любая помощь будет отличной, заранее спасибо.

Редактировать: я добавил еще несколько визуальных студийных версий в список тегов, чтобы попытаться получить больше информации по этому вопросу.Надеюсь, кто-то сделает это в более поздней версии, и я смогу работать в обратном направлении.

1 Ответ

1 голос
/ 04 марта 2011

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

Кажется, что пользовательские параметры сборки VC6 будут искать только в каталоге проекта файл m4.exe, даже если вы укажете, где явно находится вызывающий exe (bison). Чтобы решить эту проблему, я немного взломал и выполнил полную команду cd в окне пользовательской сборки, чтобы перейти в каталог gnuwin32 (где живут и bison, и m4), прежде чем пытаться вызвать генератор анализатора.

Это прекрасно работает, но это немного хлопотно для попытки распространить его среди других людей, когда они могут установить инструменты GNU в другом месте.

...