问题标签 [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.

0 投票
1 回答
203 浏览

m4 - 为 shell 命令自动转义 m4 中的斜杠

我正在用 m4 编写宏,以便轻松地将数学嵌入 HTML 代码中。斜线需要转义,我想自动化这个过程,但我还没有想出一个好方法。

运行m4以下显示问题:

我的输出如下:

如果我替换\frac\\\fracthen 我会得到想要的结果。我每次都可以这样做,但如果可以的话,我想自动化这个过程。顺便说一句,期望的结果是

它通过管道传送到另一个命令,该命令将生成 HTML 代码或图像(在这个最小示例之外)。

我知道解决这个问题的一种不令人满意的方法。我可以为 TeX 使用不同的字符(或字符组合)\并定义另一个宏来自动替换它。这是不令人满意的,因为我想直接使用 LaTeX 代码而不做修改,它并不比使用三个斜杠简单得多。

如何更改我的宏以正确自动转义斜杠,以便我可以使用直接的 LaTeX 代码?

0 投票
1 回答
2112 浏览

autoconf - AC_SUBST 带有动态变量名

我正在尝试创建一个 m4 宏,它基本上调用 AC_CHECK_SIZEOF(type) 然后使用 AC_SUBST 定义该变量以进行替换。所以给定输入:

AX_CHECK_SIZEOF_AND_SUBST(int, 4)

我希望将所有出现的@SIZEOF_INT@替换为 4

到目前为止,这是我想出的,但显然不起作用:

0 投票
1 回答
4459 浏览

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,但无论如何这些工具应该是最新的,我猜!

0 投票
4 回答
10954 浏览

windows - $PATH 或 /usr5bin 中没有可用的 M4

作为一个漫长而肮脏的故事的一部分,其最终目标只是安装 GMP 以与 Windows 中的 code::blocks 一起使用,我正在尝试配置 gmp。我使用以下命令执行此操作:

./configure --prefix=${gmp_install}

一切都开始得很好。几分钟和一点进展后,一切都停止了,我收到以下消息:

配置:错误:$PATH 或 /usr5bin 中没有可用的 M4

我什至不知道 M4 是什么,但我发现它是某种宏处理器。所以我下载了它,并将文件夹添加到我的 Path 变量中。然后我再次开始配置,但结果相同。

我需要对 M4 做些什么才能使其正常工作吗?我真的很茫然。谢谢你的帮助。

0 投票
1 回答
662 浏览

qt - 如何通过 AutoTroll 使用 QT 和 GNU Autotools?

我想同时使用 Autotools 和 QT4。为此,我想使用AutoTroll。正如网站所说,它应该很容易使用。不幸的是,我无法这样做。我有一个有效的 Hello World 示例:

这就是我的configure.ac的样子:

我的Makefile.am

我的带有 QT 的简单main.cpp包括:

有人可以帮忙吗?一步一步的简短会非常好。先感谢您。

编辑:我不知道如何在我的配置中集成这个 m4 makro (Autotroll)。这就是为什么我不能提供任何“错误”或其他内容。该网站并不能帮助我理解该做什么。

0 投票
1 回答
156 浏览

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.

0 投票
1 回答
465 浏览

autoconf - 如何打包多个语句

我想在 a 中重新组合多个语句[]

我的问题是,我不确定最好的方法。我想我可以使用;,但这对于m4sh脚本来说似乎并不真正地道。

0 投票
2 回答
344 浏览

c - 使用 m4 将字符串转换为 ASCII 码点

这应该是可能的,但是由于我是 m4 的新手,我不确定如何去做,或者如何编写算法来做到这一点(在 m4 中)。

编辑:

刚刚解决了,反正为了以后参考,我有一系列字符,它们需要被翻译成它们等效的ASCII码点,例如

0 投票
1 回答
758 浏览

m4 - 什么是 M4 复合宏,例如 foreach?

我想m4用来做一些节省类型的东西,所以肯定需要循环。当我阅读m4doc 时,在第 6 章中有6.4and 6.5for 迭代。但看起来那foreach不是内置宏(复合?),我怎么能使用它?在示例中,他们m4使用-I examples选项和调用include('foreach.m4'),但此文件似乎不存在,错误如下:

任何帮助表示赞赏!

0 投票
1 回答
172 浏览

macros - 如何在 M4 中嵌套宏定义?

我想定义一个可以定义更多宏的宏:

然后我可以使用master_macro将更多类似slave_macro的 s 定义为:

之所以需要这个,是slave_macro因为我写M4宏的时候不知道个数和名字。