mingw-get-setup.exe
を使用してmingwとmsysをインストールしました。 Autotools(autoconf、automake、m4、libtool)もC:\/opt/autotools
にインストールしました。
Automakeを実行すると、常に次のエラーが発生します。
configure.ac:11: error: required file './ltmain.sh' not found
Libtoolのインストール済みツリーからltmain.sh
をコピーすると、実行は正常に終了します。
コピーせずにltmain.sh
を見つけるようにautomakeを構成するにはどうすればよいですか?
autoconf
/automake
/libtool
プロジェクトでは、呼び出す必要があります。
libtoolize
:これは、_ltmain.sh
_(libtoolの主要コンポーネント)を含むいくつかのサポートスクリプトをコピー/リンクします。aclocal
:configureスクリプトが必要とするすべてのm4マクロを検索し、アクセスを容易にするためにローカルコピーを作成します。autoheader
:_config.h
_/_AC_CONFIG_HEADERS
_を使用する場合はオプション、それ以外の場合は、コンパイラーを呼び出すときにすべてのテスト結果マクロがインライン化されます。autoconf
:_configure.ac
_で使用されるすべてのマクロをconfigure
スクリプトに展開します。automake
:すべての_Makefile.am
_を_Makefile.in
_テンプレートに変換します。これを_--add-missing
_で呼び出すと、追加のサポートスクリプトをプロジェクトにリンク/コピーできるようになります(compile
、missing
、depcomp
、_test-driver
_など)。ほとんどの場合、bootstrap
スクリプトを各プロジェクトに追加して、これらのツールをすべてこの順序で呼び出すことができます。または、怠惰で_autoreconf -i
_を呼び出して、それがプロジェクトで機能するかどうかを確認することもできます。
Configureスクリプトによって生成されたMakefile
sを処理した後(およびしばらく)、autotoolsが自動的に処理します。つまり、_configure.ac
_または_Makefile.am
_を編集すると、上記の正しいツールが再度呼び出され、make
を実行するだけですべてが更新されます。 _Makefile.am
_ファイルで構文エラーが発生しないように注意してください。そうしないと、Makefile
sが壊れ、make
が実行を拒否される可能性があります。その場合は、 bootstrap
スクリプト(またはautoreconf
)を手動で実行します。
編集:
automake manual はaclocalについてこれを言っています:
aclocal
はなくなると予想されます。
さらに下に:
ユーザーの観点からは、
aclocal
の削除は苦痛であることが判明する可能性があります。そのスイッチをよりシームレスにするために取ることができる簡単な予防策があります:aclocalを自分で呼び出さないでください。この人をautoreconf
とAutomakeの再構築ルールの排他的な制御下に置いてください。
つまり、ツールを直接使用する十分な理由がない限り、_autoreconf -i
_を使用して将来を保証します。