首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何让automake在设置%option prefix=时识别flex生成的非默认文件名

automake是一个用于自动化构建软件的工具,它可以根据Makefile.am文件生成Makefile.in文件,进而生成Makefile文件。在使用automake时,可以通过设置%option prefix=来指定flex生成的非默认文件名。

%option prefix=用于指定生成的词法分析器的前缀,即生成的词法分析器的文件名。默认情况下,flex生成的词法分析器文件名为lex.yy.c。通过设置%option prefix=,可以将生成的词法分析器文件名修改为其他名称。

要让automake识别flex生成的非默认文件名,可以按照以下步骤进行操作:

  1. 在Makefile.am文件中,找到对应的词法分析器源文件的变量定义,例如LEX_SOURCE。
  2. 在该变量定义的行后面添加以下代码:
  3. 在该变量定义的行后面添加以下代码:
  4. 这段代码将根据LEX_SOURCE的文件名生成对应的词法分析器文件名。
  5. 在Makefile.am文件中,找到对应的编译规则的变量定义,例如bin_PROGRAMS。
  6. 在该变量定义的行后面添加以下代码:
  7. 在该变量定义的行后面添加以下代码:
  8. 这段代码将词法分析器文件作为编译规则的依赖项。
  9. 在Makefile.am文件中,找到对应的编译规则的命令定义,例如$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $@ $<。
  10. 在该命令定义的末尾添加以下代码:
  11. 在该命令定义的末尾添加以下代码:
  12. 这段代码使用flex命令生成词法分析器文件。

通过以上步骤,automake将能够识别flex生成的非默认文件名,并在构建过程中正确处理词法分析器文件的生成和依赖关系。

关于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体品牌商,无法给出具体的推荐产品和链接地址。但腾讯云作为一家知名的云计算服务提供商,提供了丰富的云计算产品和解决方案,可以根据具体需求在腾讯云官方网站上查找相关产品和文档。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Linux下automake工具使用(自动构建Makefile文件)

示例: AM_INIT_AUTOMAKE(app,1.1.2) 最后AC_OUTPUT()填写生成文件名称。...第二项:生成可执行文件名 第三项:生成可执行文件所需原始文件,有多个文件用空格隔开。...不然会报以下错误: 示例: [wbyq@wbyq tmp]$ automake --add-missing 3.9 运行configure配置生成最终Makefile文件 configure脚本为了一个程序能够各种不同类型机器上运行而设计...配置打包需要打包其他文件 SUBDIRS 设置处理本目录之前需要递归处理子目录 示例: SUBDIRS=src/lib src/ModuleA/apple/shell src/ModuleA...,用于引用.o 等一些编译出来目标文件 $(prefix) 定义了软件安装路径 1) automake标准安装路径 默认安装路径为:$(prefix) = /usr/local,可以通过.

7.1K31

Autotools -- 自动编译链工程构建

Autotools – 自动编译链 简介 虽然现在cmake,qmake 或者 ide功能越来越强大,也越来越简洁。但是日常使用中,庞大开源库,autoconfig 还是占据大半壁江山。...Makefile.am 文件, 需要编译目录或者编译以来目录每个目录都需要添加对应Makefile.am 文件。...AC_PREREQ([2.69]) #autoconf 版本 AC_INIT(gameserver, 1.0, 779508400@qq.com) # 工程信息 (目标文件名, 版本信息,联系信息) AM_INIT_AUTOMAKE...(gameserver, 1.0) #添加 AM_INIT_AUTOMAKE(目标文件名, 版本信息) 必须需要 AC_CONFIG_SRCDIR([src/main.cpp]) # 生成可执行文件cpp...automake --add-missing’ ,其目的是,生成 Makefile.in 并且 添加缺少 生成 包 所缺少依赖文件。

78220
  • Autoconf编译配置

    ,是生成configure文件,configure是一个脚本,它能设置源程序来适应各种不同操作系统平台,并且根据不同系统来产生合适Makefile,从而可以使你源代码能在不同操作系统平台上被编译出来...中用到各种Autoconf宏,包括自定义宏; 调用autoheader,扫描configure.ac(configure.in)、acconfig.h(如果存在),生成config.h.in宏定义文件...,里面主要是根据configure.ac中某些特定宏(如AC_DEFINE)生成#define和#undefine宏,configure将根据实际探测结果决定这些宏是否定义 按照automake规定规则和项目的目录结构...调用automake,将每个Makefile.am转化成Makefile.in,同时生成满足GNU编码规范一系列文件(带-a选项自动添加缺少文件,但有几个仍需要自己添加,执行automake前需执行...需要操作过程: 【修改configure.ac文件】 添加AM_INIT_AUTOMAKE宏 AM_INIT_AUTOMAKE是检查automake尝试Makefile工具,传到这个宏里参数是要编译应用程序名称和版本号

    1.2K50

    RPC实现

    本文将力图用比较简单语言阐述一个RPC是如何实现。 2. 基本概念 正式讲解之前,先介绍一下与RPC有关基本概念: 2.1. ...flex词法文件名一般习惯以“.l”或“.ll”结尾,使用flex编译“.l”或“.ll”文件后,会生成名称为lex.yy.c文件,这是默认时候生成文件名。...简单说,flex工作就是将输入分解成一个个Token,并且分析出一个Token,可以执行指定动作,动作以C/C++代码方式表示,也可以没有任何动作。...3) %option yywrap 这个是默认,隐式存在option。 4.3.3. ...目的 介绍如何编译IDL函数,但在这里不会真正去实现一个RPC函数,因为那会问题变得复杂起来。但有了语法树后,也就有了函数描述信息,在此基础上实现RPC函数就有眉目了。

    1.5K30

    automake编译和安装方式说明

    然后,再在thirdparty下建立名叫src_package,用来存放第三方库源码包,如没有特别说明,第三方库默认均为automake编译和安装方式。...【automake编译和安装方式说明】 通常Linux系统自带automake编译工具,C/C++开源库一般都采用automake编译。...4) 进入/tmp子目录子目录protobuf-2.4.1 5) 执行configure命令,以生成Makefile文件:..../configure --prefix=/usr/local/protobuf-2.4.1,这里假设将Protocol Buffers安装到/usr/local/protobuf-2.4.1 6) 上一步会生成编译用...Linux风俗,建议保持 c) 注意第5步,如果生成静态库会被其它共享库使用,则可能需要为configure增加参数,否则在链接生成共享库,可能会报被链接静态库需要带-fPIC参数重新编译,这个问题不难解决

    1.9K30

    Tesseract:安装与命令行使用

    所谓语言文件是 Tesseract 识别某种语言文字图像需要一些资源,这些东西也可以通过包管理器获取。.../configure 加上参数 –prefix=xxx 来指定安装路径,这样以后要卸载会方便一些——当然如果这样做的话安装完后需要做一些额外工作,包括: 添加 Tesseract 可执行程序路径到环境变量...将语言文件放置在用户目录中可以解决这个问题,方法是 .bashrc (假设您使用 bash 作为日常 shell)中设置 export TESSDATA_PREFIX=$HOME/ 如上设置,将语言文件放在...注意在 "Language data" 那个选项里,默认是只勾选了英文,如果需要进行其他语言识别,记得勾选对应语言。...将多项参数设置写入文件,然后识别使用该文件,比如: tesseract paper.png paper -l chi_sim tess.conf 需要注意是,如果使用配置文件,用作参数配置文件名要放在最后面

    2.6K10

    coreseek实现中文检索服务

    /configure --prefix=/usr/local/mmseg3 $ make && make install ##如果提示libtool: unrecognized option `--...'服务': 1 documents, 1 hits $  /usr/local/coreseek/bin/searchd -c etc/csft.conf ##以下为正常开启搜索服务提示信息:(...configue文件问题 之前安装 coorseek 时候,遇到了一些错误,官网根本看不到解决方案,最后 google 一个大牛博客评论区找到了解决方法,顿时把膝盖献上去了~~      ...整理到这里是为了方便一些人找到,长城防火墙毕竟让 google 不是那么友好了 %>_<% 不过大牛博客还是上得了:传送门      错误现象:执行 buildconf.sh 报错,无法生成configure...那么已经创建好数据库及库中表要如何更改为utf8呢?

    91730

    g++入门教程

    -glevel 请求生成调试信息,同时用level指出需要多少信息,默认level值是2。...-v 显示详细编译、汇编、连接命令 -pipe 使用管道代替编译过程中临时文件,使用gnu汇编工具时候,可能有些问题 g++ -pipe -o hello.out hello.cpp...例子用法: gcc -x c hello.pig -x none filename 关掉上一个选项,也就是gcc根据文件名后缀,自动识别文件类型,例子用法: gcc...遇到GCC无法识别的编译指导指令,发出警告。使用了-Wall选项,就不需要使用该命令选项了。...4.2链接注意事项 4.2.1指定静态与动态链接方式 g++链接库默认优先链接动态链接库。静态库与动态库混合链接,有如下两种方法: (1)静态链接库使用绝对路径,动态链接库使用-l。

    14.5K21

    Linux中configure,make,make install到底在做些什么

    然后是autoconf,是生成configure文件,configure是一个脚本,它能设置源程序来适应各种不同操作系统平台,并且根据不同系统来产生合适Makefile,从而可以使你源代码能在不同操作系统平台上被编译出来...最后是automake用来生成Makefile.in文件 简单总结一下,这个编译过程涉及几个命令工具,大体功能点如下。...automake尝试Makefile工具,AC_PROG_CC是编译器检测,AC_CONFIG_FILES是automake构建出类似.in文件。...默认等级是gnu。此处AUTOMAKE_OPTIONS使用是foreign,表示只检测必要文件。...bin_PROGRAMS定义了要产生执行文件名,这里我们定义为helloworld file_SOURCES定义file这个执行程序依赖文件,其中“file_SOURCES”中前部分“file”要改写成可执行文件名

    3.9K30

    Linux中configure,make,make install到底在做些什么

    然后是autoconf,是生成configure文件,configure是一个脚本,它能设置源程序来适应各种不同操作系统平台,并且根据不同系统来产生合适Makefile,从而可以使你源代码能在不同操作系统平台上被编译出来...最后是automake用来生成Makefile.in文件 简单总结一下,这个编译过程涉及几个命令工具,大体功能点如下。...automake尝试Makefile工具,AC_PROG_CC是编译器检测,AC_CONFIG_FILES是automake构建出类似.in文件。...默认等级是gnu。此处AUTOMAKE_OPTIONS使用是foreign,表示只检测必要文件。...bin_PROGRAMS定义了要产生执行文件名,这里我们定义为helloworld file_SOURCES定义file这个执行程序依赖文件,其中“file_SOURCES”中前部分“file”要改写成可执行文件名

    3.2K40

    Linux开发环境第三方库规划

    Linux开发环境第三方库规划.pdf 【本文目的】 工作变得有条理,不乱糟糟,即使存在大量第三方,也有章可循。...如果不符合这样一个结构,建议修改成这样,一个重要原因是:非常强烈建议代码中#include包含第三方库名,如:#include ,这种做法可以减少文件名冲突,使用MySQL就可能遇到这个问题...3) make 4) make install 第一步config作用类似于automakeconfigure,用于生成Makefile文件,之后就和automake一样操作。...【Thrift编译和安装】 0.9.2版本之前Thrift,只支持标准automake编译,但从0.9.2开始引入了cmake编译,两种方式共存。...如果OpenSSL不是被安装在默认目录下(即没有指定--prefix安装OpenSSL),则在编译Thrift可能会遇到找不到OpenSSL,这个时候可按如下方式编译安装Thrift: .

    1.3K30

    linux下命令自动补全总结

    “-o bashdefault”:如果没有生成补全条目,就使用bash默认其它补全。 “-o default”:如果没有生成补全条目,就使用“readline”默认文件名补全。...“-o noquote”:告诉“readline”不引用文件名默认会进行引用。 “-o nospace”:告诉“readline”在补全名称后不添加空格,默认添加空格。...“-G globpat”:使用文件名扩展模式globpat进行扩展以生成可能补全条目。 “-P prefix”:在所有的选项应用到补全结果后,结果前添加前缀prefix。...“-X filterpat”:filterpat是进行文件名扩展使用模式,它作用于通过前面的选项和参数生成补全列表,并把每个与过滤模式匹配条目删除,模式中前导叹号表示否定,这时会删除与过滤模式不匹配条目...COMP_WORDBREAKS:“readline”库进行单词补全用作单词分隔字符,如果没有设置这个变量,即使以后进行重置,它也会失去特殊作用。

    6.6K50
    领券