問題タブ [automake]
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.
gcc - autotoolsを使用しているときにPACKAGE_NAMEと他のマクロが競合している
config.h
ライブラリとそのライブラリ上に構築されたソフトウェアの両方にautotools(ファイルを含む)を使用すると、コンパイラは一部のマクロ(PACKAGE_NAME、PACKAGE_TARNAMEなど)の再定義について文句を言います。
どうすればこれを防ぐことができますか?
このconfig.h
ファイルは、その設定をそれを使用するソフトウェアに伝達するためにライブラリに必要です。
library_config.h
現在、オリジナルを含み、config.h
ユーザーがautotoolsを使用していないときにデフォルトを提供するラッパースクリプトがありますが、そのパッケージ内のマクロの定義を解除しても、gccから再定義の警告が表示されます。
最善のオプションは、そのマクロのないライブラリを用意することだと思います。autotoolsを使用するときに、ライブラリでPACKAGE、PACKAGE_NAMEなどの定義を回避するにはどうすればよいですか。
編集:よりよく説明しようとします。
ライブラリのでAC_CONFIG_HEADER
マクロを使用するとき、私は多くの有用な定義を含むファイルを作成します。この定義は、ライブラリ自体(コンパイルされた部分とそのヘッダーファイルの両方)およびクライアントソフトウェアに役立ちます。ただし、必要な便利なマクロと、autotoolsがクライアントソフトウェア構成にも使用されるときに衝突する固定名(PACKAGE、PACKAGE_NAME)を持つ他の汎用定義が混在しているのは残念です。configure.ac
config.h
AC_CONFIG_HEADER
makefile - autotools の EXTRA_SCRIPTS 変数に関するドキュメントはどこにありますか?
Makefile.am の EXTRA_SCRIPTS 変数は何ですか? それはどこに文書化されていますか?
automake - Makefile.am:sでマルチレベルのSUBDIRSを使用する方法は?
automakeが文句を言う一般的な問題は、さまざまなMakefile.am:sの次の行が原因で発生します。
この行の目的は、transport / http/utilとtransport/http / commonがエンジンディレクトリの前にビルドされ、残りのトランスポートがエンジンのビルド後にビルドされるように、ビルドの順序を強制することです。
この行により、MinGWでautomakeを実行すると次のエラーが発生します。
autotools - Automake:ビルドステップを追加するには?
現在、次のようなビルドチェーンがあり、automake によって完全に管理されています。
XML ファイル .ui を vala ソースに前処理するための新しいステップを追加したいと思います。
私はmakefile.amでこれをしました
と:
しかし、理解しないでください:
これはmakeの制限のようです:
http://www.ensta.fr/~diam/dev/online/autoconf/autobook/autobook_180.html
変換が 3 つのステップ (
.m' to
.x' から、次に.x' to
.c' から、最後に `.o') を要する場合、Automake の単純なアプローチは破綻します。
別のアイデアはありますか?
g++ - Autoconf / Automake "configure.ac:2:オプション`-Wall'が認識されません "
私は新しいプロジェクトのためにautoconf/automakeから始めようとしています。はじめに、 「GNU Autotoolsの使用」を読んで、Hello-World-Tutorialを構築しようとしています。
96ページ(LaTeX-Presentationであるため実際のPage = 105)から必要なファイルconfigure.ac
でMakefile.am
ありsrc/Makefile.am
、ドキュメントに記載されているとおりに表示されます。
その後、私は試しました:
ええと、automakeは2行目が気に入らないようです:
したがって、私は実行しました:
automake --add-missing --copy --no-force
私がverbose-optionで繰り返したautoconfが実行されていることが簡単にわかります。そしてそれはこれを返すだけです:
なぜこれが機能しないのか誰かが考えていますか?私の印象では、私のファイルはどれも間違っていません...
LinuxおよびWindows用のC++コードのコンパイルに使用したいと思います(mingw32-g ++を使用)。どこから始めればいいのか、何に注意を払わなければならないのか、知っていますか?
私はUbuntu9.1064ビットを使用しています。
どんな助けでも大歓迎です。よろしくお願いします
android - ビルド時に自動生成されるソースコードファイルの扱い方
自動生成されたソース コード ファイルを使用するサード パーティのライブラリを構築しようとしています。通常、この種のファイルは gnu ビルド ツールによって生成されます。私の質問は、この種のファイルを生成してビルドするように Android NDK ビルド ツールに指示するにはどうすればよいかということです。
前もって感謝します
emacs - ltmain.sh とは何ですか?なぜ automake はそれが見つからないと言うのですか? 優れた自動 (make/conf/etc) ジェネレーターとは?
auto(make/conf/...) が自動的に生成されたものを使用して、LinuxでCアプリを開発したいだけです。edeとanjutaで生成してみましたが、Makefile.amが生成されないようです。そこで、automake を実行してみましたが、「ltmain.sh」が見つかりませんと表示されます。Linux C/C++ アプリ用の基本的なビルド ファイルを簡単に生成できるものはありますか。標準的な慣行は何ですか?ほとんどの人はこれらのファイルを自分で作成しますか?
makefile - automakeの見苦しさを軽減するには?
私は最近、automake の使い方を学びましたが、コンパイル コマンドが次のようなものであることに少しイライラしています。
たくさんの場合:
これをきれいにする方法はありますか?私は通常、警告メッセージを簡単に見つけることができますが、読むべきテキストの壁は 3 倍大きくなり、より奇妙なものになりました。
私は自分のフラグが何であるかを知っているので、各ファイルに対して「xxx.cpp をコンパイルしています」と言うだけで完璧です。
makefile - automakeで依存関係を作成するには?
現在、次のような Makefile.am ファイルがあります。
コンパイルすると、bar.F90 は bar.o を提供します。ただし、bar.F90 は他のいくつかの Fortran ファイル (cat.F90、dog.F90、pig.F90) に依存しています。これらの依存関係のいずれかのソースが変更された場合、bar.o を再構築するように Automake をセットアップしたいと考えています。
automake/autoconf の GNU マニュアルを読んでいますが、これに対する解決策を見つけることができませんでした。読んでくれてありがとう。
linux - kdevelop 3.5:設定:エラー:C++コンパイラは実行可能ファイルを作成できません
Ubuntu10.04でkdevelop3.5.4を使用してアプリケーションをコンパイルしようとしましたが、次のエラーで失敗します。
config.log:
何が悪いのかわかりません。使用したツールのバージョンが一致していない可能性がありますか?