6 个解决方案
#1
那么dtd_grammar.h就是在搜索路径中。
#2
不了解wireshark源代码。
除了楼上说的可能性,还有可能就是编译过程动态产生了 dtd_grammar.h 这个头文件,编译完成后又删除了该文件。
除了楼上说的可能性,还有可能就是编译过程动态产生了 dtd_grammar.h 这个头文件,编译完成后又删除了该文件。
#3
包含是以 "" 引用, 而不是<>引用,应该是源码目录下吧,回头把整个硬盘搜一下, 看有没有这个文件。
楼上说的动态生成是怎么回事呢? 源码目录下倒是有 dtd_grammar.lemon 的脚本,难道要学这个脚本语言先?
楼上说的动态生成是怎么回事呢? 源码目录下倒是有 dtd_grammar.lemon 的脚本,难道要学这个脚本语言先?
#4
有可能是 Lex + Yacc(Linux) 或者 Flex + Bison 之类的工具,又或者编程者自己定义的工具将
dtd_grammar.lemon 转换成 dtd_grammar.h 文件。
有个建议:
如果你使用Linux或者MSys,MinGW的话,可以查找下Makefile之类的文件,看哪个地方有对 dtd_grammar.lemon 进行处理;
如果使用Windows的话,通常应该有VC工程,可查看工程配置:
Properties -> Build Events -> ...
如果文件 dtd_grammar.lemon 被加到工程里的话,可以在VC Solution Explorer中选中该文件,
然后右键 Properties -> General -> Tool 查看是否有外部工具对该文件进行处理。
#5
看看里面的readme文件,
如果不是在当前代码目录下,可能就是动态生成的!需要执行某个脚本!
#6
根据网上的教程,在VS下编译成功wireshark后,确实生成了这个文件,多谢了
#1
那么dtd_grammar.h就是在搜索路径中。
#2
不了解wireshark源代码。
除了楼上说的可能性,还有可能就是编译过程动态产生了 dtd_grammar.h 这个头文件,编译完成后又删除了该文件。
除了楼上说的可能性,还有可能就是编译过程动态产生了 dtd_grammar.h 这个头文件,编译完成后又删除了该文件。
#3
包含是以 "" 引用, 而不是<>引用,应该是源码目录下吧,回头把整个硬盘搜一下, 看有没有这个文件。
楼上说的动态生成是怎么回事呢? 源码目录下倒是有 dtd_grammar.lemon 的脚本,难道要学这个脚本语言先?
楼上说的动态生成是怎么回事呢? 源码目录下倒是有 dtd_grammar.lemon 的脚本,难道要学这个脚本语言先?
#4
有可能是 Lex + Yacc(Linux) 或者 Flex + Bison 之类的工具,又或者编程者自己定义的工具将
dtd_grammar.lemon 转换成 dtd_grammar.h 文件。
有个建议:
如果你使用Linux或者MSys,MinGW的话,可以查找下Makefile之类的文件,看哪个地方有对 dtd_grammar.lemon 进行处理;
如果使用Windows的话,通常应该有VC工程,可查看工程配置:
Properties -> Build Events -> ...
如果文件 dtd_grammar.lemon 被加到工程里的话,可以在VC Solution Explorer中选中该文件,
然后右键 Properties -> General -> Tool 查看是否有外部工具对该文件进行处理。
#5
看看里面的readme文件,
如果不是在当前代码目录下,可能就是动态生成的!需要执行某个脚本!
#6
根据网上的教程,在VS下编译成功wireshark后,确实生成了这个文件,多谢了