问题标签 [m4]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
m4 - 为 shell 命令自动转义 m4 中的斜杠
我正在用 m4 编写宏,以便轻松地将数学嵌入 HTML 代码中。斜线需要转义,我想自动化这个过程,但我还没有想出一个好方法。
运行m4
以下显示问题:
我的输出如下:
如果我替换\frac
为\\\frac
then 我会得到想要的结果。我每次都可以这样做,但如果可以的话,我想自动化这个过程。顺便说一句,期望的结果是
它通过管道传送到另一个命令,该命令将生成 HTML 代码或图像(在这个最小示例之外)。
我知道解决这个问题的一种不令人满意的方法。我可以为 TeX 使用不同的字符(或字符组合)\
并定义另一个宏来自动替换它。这是不令人满意的,因为我想直接使用 LaTeX 代码而不做修改,它并不比使用三个斜杠简单得多。
如何更改我的宏以正确自动转义斜杠,以便我可以使用直接的 LaTeX 代码?
autoconf - AC_SUBST 带有动态变量名
我正在尝试创建一个 m4 宏,它基本上调用 AC_CHECK_SIZEOF(type) 然后使用 AC_SUBST 定义该变量以进行替换。所以给定输入:
AX_CHECK_SIZEOF_AND_SUBST(int, 4)
我希望将所有出现的@SIZEOF_INT@
替换为 4
到目前为止,这是我想出的,但显然不起作用:
macos - 如何正确更新 m4、autoconf、automake 和 libtool?Mac OSX
大家好,
我正在尝试更新我的 autoconf,因为我需要 2.62 或更高版本,而 Mac OSX 10.6.8 只提供旧的 2.61。(最终,我正在尝试安装 SAGA-GIS API)。
我遵循了这些说明: http: //www.mattvsworld.com/blog/2010/02/install-the-latest-autoconf-and-automake-on-mac-os-10-6/
但是:每当我完成这些步骤时,什么都没做。
我将这些工具安装在 usr/bin 中,因为这是旧工具所在的位置。这个对吗?
感谢您的支持,我真的需要这个 SAGA-GIS,但无论如何这些工具应该是最新的,我猜!
windows - $PATH 或 /usr5bin 中没有可用的 M4
作为一个漫长而肮脏的故事的一部分,其最终目标只是安装 GMP 以与 Windows 中的 code::blocks 一起使用,我正在尝试配置 gmp。我使用以下命令执行此操作:
./configure --prefix=${gmp_install}
一切都开始得很好。几分钟和一点进展后,一切都停止了,我收到以下消息:
配置:错误:$PATH 或 /usr5bin 中没有可用的 M4
我什至不知道 M4 是什么,但我发现它是某种宏处理器。所以我下载了它,并将文件夹添加到我的 Path 变量中。然后我再次开始配置,但结果相同。
我需要对 M4 做些什么才能使其正常工作吗?我真的很茫然。谢谢你的帮助。
qt - 如何通过 AutoTroll 使用 QT 和 GNU Autotools?
我想同时使用 Autotools 和 QT4。为此,我想使用AutoTroll。正如网站所说,它应该很容易使用。不幸的是,我无法这样做。我有一个有效的 Hello World 示例:
这就是我的configure.ac的样子:
我的Makefile.am:
我的带有 QT 的简单main.cpp包括:
有人可以帮忙吗?一步一步的简短会非常好。先感谢您。
编辑:我不知道如何在我的配置中集成这个 m4 makro (Autotroll)。这就是为什么我不能提供任何“错误”或其他内容。该网站并不能帮助我理解该做什么。
autotools - 抑制不必要的输出到 config.h.in
当在 m4_foreach_w 中调用 AC_CHECK_HEADERS 时,autoheader(2.65) 似乎生成了一个伪造的模板。例如:
导致config.h.in
(假设AC_CONFIG_HEADERS([config.h])
)有一个模板:
有什么办法可以避免那个伪造的模板吗?请注意,m4_foreach_w
正在宏内部调用,实际文本是m4_foreach_w([hdr],[$1],
,我想知道我是否有 m4 引用问题,但我怀疑问题更根本。也就是说,我一直认为我错误地引用了 m4——但这似乎不是这里的问题。相反,autoheader
正在扫描文本而不尊重m4_foreach_w
. 我不认为模板会导致任何问题,但在最终的config.h
.
autoconf - 如何打包多个语句
我想在 a 中重新组合多个语句[]
:
我的问题是,我不确定最好的方法。我想我可以使用;
,但这对于m4sh
脚本来说似乎并不真正地道。
c - 使用 m4 将字符串转换为 ASCII 码点
这应该是可能的,但是由于我是 m4 的新手,我不确定如何去做,或者如何编写算法来做到这一点(在 m4 中)。
编辑:
刚刚解决了,反正为了以后参考,我有一系列字符,它们需要被翻译成它们等效的ASCII码点,例如
m4 - 什么是 M4 复合宏,例如 foreach?
我想m4
用来做一些节省类型的东西,所以肯定需要循环。当我阅读m4
doc 时,在第 6 章中有6.4
and 6.5
for 迭代。但看起来那foreach
不是内置宏(复合?),我怎么能使用它?在示例中,他们m4
使用-I examples
选项和调用include('foreach.m4')
,但此文件似乎不存在,错误如下:
任何帮助表示赞赏!
李
macros - 如何在 M4 中嵌套宏定义?
我想定义一个可以定义更多宏的宏:
然后我可以使用master_macro
将更多类似slave_macro
的 s 定义为:
之所以需要这个,是slave_macro
因为我写M4宏的时候不知道个数和名字。