【问题标题】:flex path addition doesnt work弹性路径添加不起作用
【发布时间】:2012-07-05 20:22:57
【问题描述】:

我正在尝试使用 flex 并已安装在 c:\gnuwin32\bin 中,已将此类添加到 PATH 以及 c:\dev-cpp\bin。

调用 gcc 没有问题,但调用 flex 没有问题,除非我在 c:\gnuwin32\bin 目录中,这意味着要求 gcc 使用 lex.yy.c 编译失败,因为它找不到一些外部 lex 函数,如 yywrap()。

这是我的路径目前是最后两个项目或有问题的项目。 最后一个路径项是否需要以分号结尾?我不知道为什么它不能正常工作..

【问题讨论】:

    标签: c path windows-xp lex flex-lexer


    【解决方案1】:

    您的问题与 PATH 连接无关。

    Gcc 在链接时找不到 flex 运行时库,您必须添加 -L 选项来指定其位置并添加 libfl.a

    有点像

    gcc -o target *.o -L <path> -lfl 
    

    您还可以使用以下 flex 选项禁用 yywrap 功能

     %option noyywrap
    

    FAQ entry in the Flex manual

    【讨论】:

    • 这可能会解决编译问题,但不能解释为什么我不能在 flex bin 中运行 flex
    • 如果您输入 flex.exe 的完整路径,它是否有效。如果是,你也检查 PATH 变量中的提示。
    • 有问题的编辑图片显示,据我所知,没有错别字
    • 如果你输入 c:\gnuwin32\bin\flex.exe 你的-flex。有用吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多