【发布时间】:2011-09-27 15:33:56
【问题描述】:
我要将用于 unix 的 C 项目移植到 Windows 中。到目前为止,我可以让它 compile 但不能 build 。我得到的问题是,在头文件中声明的一些函数是在 yacc 文件中定义的。所以我收到以下错误:
error LNK2001: unresolved external symbol function_name
我在项目的源目录中添加 .y 和 .l 文件。我想我无法将 yacc 文件移植到 Windows 版本中,或者我在做一些愚蠢的事情。我在网上搜索它,但无法获得正确的教程它。你能告诉我吗
- 如何在项目中添加 .y 或 .l 文件。
- 如何使这些文件与 windows 兼容?
- 如何将它们与其他目标文件链接。
编辑
我尝试使用flex.exe 将.l 文件更改为 .yy.c 文件。以下是它的命令
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
这是unix中 bison 需要生成的头文件
系统。所以我认为我无法使 bison 与windows 兼容。所以请他告诉我我该如何解决这个问题?
提前致谢。
【问题讨论】:
标签: visual-studio visual-studio-2010 porting yacc bison