m4相关内容
我需要在Ubuntu18.04上将M4更新为1.4.19,但如何操作?这是https://stackoverflow.com/a/69195008/1079990 的后续内容 我做到了: wget ftp.gnu.org/gnu/m4/m4-1.4.19.tar.gz tar -xvzf m4-1.4.19.tar.gz cd m4-1.4.19/ ./configure --pr
..
我正在尝试在 HP-UX 服务器上设置 PHP、apache 环境.在安装时,我使用的是“./configur、make、make install"的常用命令.在这里,当我尝试安装 PCRE 时,出现如下错误. CDPATH="${ZSH_VERSION+.}:" &&光盘.&&/bin/bash/home/ubuntu/softwares/m4-1.4.17/build-aux/missing
..
我有一个字符串,我想多次将其用于 configure --help 的输出.所以我尝试在 configure.ac 中做这样的事情: AC_ARG_ENABLE([foobar],AS_HELP_STRING([--enable-foobar], [$foobar_help_str])) 但是没有进行扩展或替换,所以输出只是$foobar_help_str. 解决方案 将字符串定义为
..
我正在使用automake的宏 AM_PATH_PYTHON 查找 pythondir 变量. 到目前为止,我一直在不带参数的情况下调用它,在Ubuntu上默认为python 2.7.现在,我还想为 python3.x (特别是3.3)构建它. 有没有一种方法可以调用 AM_PATH_PYTHON([3])以获取 python3.3 ,并使用 AC_SUBST 在特定于 python3
..
相对于此问题,我想定义一个BC该函数的m4宏: syscmd(bc 2.4 我猜是这样的: define(`BC', syscmd(bc
..
假设我有: File: [x] 我想定义m4宏: define(`\[.*\]`, ...) 问题:这有可能吗?怎么做到的? 解决方案 在 3.1宏名称 名称是字母,数字和字符"_"的任意序列 (下划线),其中第一个字符不是数字. m4将使用 在输入中找到的最长此类序列.如果名称包含宏 定义,将对其进行宏扩展(请参见宏).名字 区分大小写. 合法名称的示
..
如果我跑步: define(`[x]`,`y') [x] =>[x] 什么也没有发生..有没有办法在M4中扩展括号? 解决方案 如果定义的宏名称包含非字母数字字符,则扩展其内容的唯一方法是使用defn()内置宏: define(`[x]',`y') defn(`[x]') => y
..
是否有一个好的方法来在m4宏中统一缩进一段文本?换句话说,宏 define(`mytext',dnl This is a piece of text that I would like to indent) mytext 产生 This is a piece of text that I would like to indent 我希望有一种方法可以将整个文本块缩进指定的数量
..
我正在尝试在HP-UX服务器上设置PHP,apache环境.在安装时,我使用的通常命令是"./configur、make、make install".在这里,当我尝试安装PCRE时,出现如下错误. CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/bash /home/ubuntu/softwares/m4-1.4.17/build-aux/missing
..
我正在使用 m4 .我在此处处读取线程,然后从那里到达#include define(`DEF', `3') int main(int argc, char *argv[]) { printf("%d\n", DEF); return 0; } 并使用m4生成像这样处理的C文件. $ m4 test.c.m4 > test.c $ cat test.c #include
..
我想在不使用-I开关的情况下,在m4文本中包含一个相对于我的沙箱基础目录的文件. 到目前为止,我已经弄清楚了如何使用sys调用来获取环境变量: define(MODEL_ROOT,`syscmd(`printf $MODEL_ROOT')')dnl 接下来,我要包含一个基于该环境变量的文件: include(MODEL_ROOT/sw/lib/m4_macros/foreac
..
我有一个字符串,我想多次将其用于configure --help的输出.所以我尝试在configure.ac中做这样的事情: AC_ARG_ENABLE([foobar], AS_HELP_STRING([--enable-foobar], [$foobar_help_str])) 但是没有进行扩展或替换,因此输出仅为$foobar_help_str.
..
在使自定义selinux策略在基于AOSP的Android 7.1.2(更精确地基于索尼开放设备树)上正确运行方面,我遇到了一些麻烦. 我的问题是审核日志不断告诉我有关我实际添加的缺少文件访问规则的信息.我还复制了audit2allow创建的规则到我的策略文件中,但是即使那些规则也无法正常工作. 所以,让我们深入研究细节: 我创建了一个名为 vendor_app 的自定义域.该域
..
配置:m4不在PATH中;这是必需的 我想知道如何解决此问题. 非常感谢! (我尝试将m4文件夹复制到该路径,但是它不起作用) ==== ERROR [while installing ocamlfind.1.3.3] ==== # opam-version 1.0.0 # os linux # command ./configur
..
我正在尝试制作一个宏来替换换行符. 我的第一次尝试是: define(`m4_pascal_str',` patsubst(`$1',`^\(.*\)$',`\1++') ') m4_pascal_str(` 11 22 33 44 ') define(zz,` 11 22 33 44 ') m4_pascal_str(`zz') 在不使用中间宏时给出
..
如何告诉m4的patsubstr用空格替换字符串中的所有换行符? 我尝试过: patsubst(MULTI_LINE_STR_DEFINE,`\n',` ') 和 patsubst(MULTI_LINE_STR_DEFINE,`\\n',` ') 解决方案 patsubst(MULTI_LINE_STR_DEFINE,` ',` ') 也就是说,您实际上将换行符放在
..
我正在使用M4扩展某些文件的系统上工作,但是在某些情况下扩展遇到问题.定义/宏命名的约定(如果可能,我宁愿不要更改)为____(即,双下划线和下划线.)因此,此扩展正确: define(`__ROOT__', `/home/mydir') ... __ROOT__/bin 给予 /home/mydir/bin 但是 define(`__PREFIX__', `
..
我知道Java中预处理器和宏的所有哲学论据。我不同意,因为有些人可能会滥用语言功能,所以应该排除所有语言功能。 我想要包含 __ FILE __ 和 __ LINE __ 我的Java和Scala代码中的宏用于高效日志记录。由于运行时性能影响,任何使用Exception都是不可接受的。那些认为可以在“生产代码”中关闭日志记录的人应该注意Brian Kernighan的建议: 删除错误消
..
我试图使用M4宏来生成CSS文件。我愿意输入我的值在px和做简单的数学使用eval()得到结果在em。不幸的是我没有找到如何获得浮点数。 define(`FONTSIZE',`13')dnl define(`LINEHEIGHT',`17')dnl .content {padding:eval(LINEHEIGHT / FONTSIZE)em} >> m4 style.css.m
..
这应该是可能的,但因为我是一个新手与m4,我不知道如何去,或如何编写一个算法这样做(在m4)。 编辑: 只是解决了,无论如何,为了将来参考,我有一系列字符,他们需要翻译成等效的ASCII代码例如 ascii( - {COLON} - , - {:} - )=> #define TKN_COLON 58 解决方案 转移(-1) changeq
..