問題タブ [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.
c++ - m4/glib のコンパイル中にエラーが発生しました
コンパイルに問題がありますglib
。最新ではないようm4
です。次のエラーが表示されます。
したがって、glib をコンパイルすると、次のエラーが発生します。
Perl
、Autoconf
およびAutomake 1.14
コンパイルに成功しました。したがって、問題は m4 にあると結論付けます。
makefile - autotools で生成された tarball のユーザーが次のエラー メッセージを受け取る: aclocal-1.13: コマンドが見つかりません
autoconf バージョン 2.69 で生成されたインストール スクリプトを含む tarball を配布しています。多くの異なるマシンで正常に動作します。現在、新しい Arch Linux システムで作業しているユーザーは、configure
適切に実行されると報告しmake
ますが、次のエラー メッセージですぐに終了します:
acinclude.m4
プロジェクトディレクトリにはありません。aclocal.m4
ユーザーは、プロジェクト内の、configure.ac
、ファイルm4/
、またはその他のファイルを変更していないことを保証します。
エラーメッセージは私には意味がありません.私が理解しているように、私aclocal
が実行すると実行されますautoreconf -if
; aclocal.m4
私が配布する tarball の一部であるファイルを生成します。make
ユーザーのコマンドが を要求する理由はありませんaclocal
。
ユーザーはさらに、 を実行することで自分で問題を解決できると報告していaclocal
ます。しかし、それはクリーンな解決策ではありません。パッケージャーは、ユーザーに autotools をインストールするよう要求するべきではありませんよね?
完全を期すために、完全なものを添付しconfigure.ac
ます。何か問題がありますか?
この問題は、tarball に属さないファイルが存在することが原因である可能性がありますか? ソースファイル自体を除く tgz アーカイブの内容は次のとおりです。
bash - m4_toupper は、変数に空の文字列を返します
文字列変数を大文字で出力したい。マクロを使用しようとしてm4_toupper
いますが、変数が無視されているようです。
たとえば、次のコードがあるとします。
次の出力が得られます。
が大文字になっているのでx
、m4 マクロは正しく動作していると思われますが、変数文字列を受け取っていない可能性がありますが、echo
ステートメントは正常に動作しているようです。空の文字列が返されるのはなぜですか?
bash - m4 の esyscmd から末尾の改行を削除します
私は m4 を使用していくつかの基本的なマクロを作成していますが、使用するとesyscmd
、コマンドの実行時に文字列に末尾の改行が追加されることに気付きました。
例:
レンダリング:
(末尾に改行を追加)
define (または esyscmd) の最後に追加するdnl
と、何も起こらないように見え、末尾に改行がまだ残っています。
esyscmd
m4を呼び出すときに末尾の改行を削除する最良の方法は何ですか?
shell - BASH/SH/ .. AutoConf: Wrapping string comparison
I am modifying a configure.ac for use with AutoConf: http://mathpad.wikidot.com/acousto-configure-ac
The script points out that it needs to run on darwin, solaris, cygwin and linux.
I assume this is why it uses an arcane method of comparing strings:
This double negative makes it difficult to read through the code. Can I clean it up?
How might I implement a string comparison macro:
Or:
And this is the best way of solving the problem?
EDIT: apparently this script is written in M4 http://www.gnu.org/software/m4/manual/m4.html