本站首页    管理页面    写新日志    退出                                          --==~欢迎光临FoxWolf的Blog~==--   



 日志搜索


«July 2025»
12345
6789101112
13141516171819
20212223242526
2728293031


公告


我的分类

日志更新

最新评论

留言板

链接

 


Blog信息
blog名称:FoxWolf
日志总数:127
评论数量:246
留言数量:0
访问次数:849997
建立时间:2006年5月31日




[Linux工具](转)boa服务器make错误
文章收藏,  软件技术,  电脑与网络

FoxWolf 发表于 2008/5/29 13:52:05

编译一个linux下的c系统,包含词法和语法分析模块,Linux上用bison和flex。 yacc是一个文法分析器的生成器,bison即是yacc的GNU版本.Lex和YACC是用于构造词法分析机和语法解释器的工具,利用Lex和YACC你可以轻松的构造一个语法解释器。   yacc(Yet Another Compiler Compiler),是Unix/Linux上一个用来生成编译器的编译器(编译器代码生成器)。yacc生成的编译器主要是用C语言写成的语法解析器(Parser),需要与词法解析器Lex一起使用,再把两部份产生出来的C程序一并编译。yacc本来只在Unix系统上才有,但现时已普遍移植往Windows及其他平台。   一开始make 错误1: debian:/home/a/boa-0.94.13/src# makeyacc  -d boa_grammar.ymake: yacc: Command not foundmake: *** [y.tab.c] Error 127   解决方法:debian:/home/a/boa-0.94.13/src# apt-get install bison 错误2: debian:/home/a/boa-0.94.13/src# makelex  boa_lexer.lmake: lex: Command not foundmake: *** [lex.yy.c] Error 127 解决方法: debian:/home/a/boa-0.94.13/src# apt-get install flex   错误3: debian:/home/a/sss/boa-0.94.13/src# makegcc  -g -O2 -pipe -Wall -I.   -c -o util.o util.cutil.c:100:1: error: pasting "t" and "->" does not give a valid preprocessing tokenmake: *** [util.o] Error 1 解决方法: 修改 src/compat.h找到#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff修改成#define TIMEZONE_OFFSET(foo) (foo)->tm_gmtoff 然后 debian:/home/a/sss/boa-0.94.13/src# make clean debian:/home/a/sss/boa-0.94.13/src# make   出现: debian:/home/a/sss/boa-0.94.13/src# make make: Nothing to be done for `all'. 说明make没有检查到需要编译的东西,库或者应用程序已经编译好了。make主要检查的是时间戳, 只要target比依赖的文件时间靠后它就认为不需要编译


阅读全文(2415) | 回复(0) | 编辑 | 精华
 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.031 second(s), page refreshed 144775456 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号