Я собираюсь перенести проект C, который был для Unix, в Windows. До сих пор я мог сделать его компиляцией, но не сборкой. Проблема, которую я получаю, заключается в том, что некоторые функции, которые объявлены в заголовочных файлах, определены в файлах yacc. Поэтому я получаю следующие ошибки:
error LNK2001: unresolved external symbol function_name
Я добавляю файлы .y и .l в исходную директорию проекта. Мне кажется, я не могу портировать файлы yacc в версию для Windows или я делаю что-то глупое. Я ищу его в Интернете, но не могу получить соответствующее руководство для это. Не могли бы вы дать мне знать
- Как добавить в проект файлы .y или .l.
- Как мне сделать эти файлы совместимыми с Windows?
- Как я могу связать их с другими объектными файлами.
EDIT
Я пытался изменить .l
файлы в .yy.c
файлы, используя flex.exe
. Для него есть команда
c:\> flex.exe name.l
Предположим, что и flex.exe, и name.l находятся в C;>
. И я загрузил все эти файлы .l .y(previously present for parsing in unix system) .yy.c(corrsonding yacc file for windows)
в решении ранее существовавшего проекта. После компиляции я получаю следующее
Can't read the header file parserheaderfile.h
Это заголовочный файл, который должен быть сгенерирован bison
в Unix
система. Так что я думаю, что не могу сделать bison
совместимым для windows
. Так что, пожалуйста, мне, как я могу решить эту проблему?
Заранее спасибо.