更新 我现在知道,parser.h应该由make系统从parser.y生成。Android.mk文件甚至有这样一个条目:
edify_src_files :=\ lexer.l \ parser.y \ expr.c
但我似乎仍然无法获得可执行文件。(是的,是可执行文件,而不是共享库)
我正在尝试自己编译Android Wifi Tether (http://code.google.com/p/android-wifi-tether/),并在尝试编译与项目JNI部分相关的一些C代码时出现了一些奇怪的lex/yacc使用。
我以前从未处理过解析器,所以我真的很紧张。在使用最新的ndk-build脚本(ndk-r5b)并解决了其他一些问题后,我发现自己正在寻找parser.h头文件。我尝试编译而不包括它,并且具有未定义引用的函数调用为:
- yy_scan_string
- yy_scan_bytes
- yyparse
因此,我明显需要找到声明这些函数的parser.h文件的路径。问题是,通过发出locate命令,我会在我的系统中得到一个具有相同名称的大型文件列表,但似乎没有一个是我正在寻找的。
有人能帮我吗?也许我需要安装开发者包?
谢谢!
Nelson