問題タブ [autoconf]
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.
macos - Autoconf を使用して Mac で 32 ビットと 64 ビットの Intel CPU を検出する
Linux および Mac、32 ビットおよび 64 ビットで実行する必要があるプロジェクトの Autoconf スクリプトを開発しています。Linux では、64 ビットの検出は簡単です。 forx86_64
の代わりにget を取得します。Mac でそれを行う方法がわかりません。32 ビット マシンと 64 ビット マシンの両方で. Autoconfビルトインを使用して違いを検出する方法はありますか?i386
build_cpu
i386
build_cpu
おまけの質問: 64 ビット CPU では、バイナリが 32 ビットか 64 ビットかをプログラムで検出する方法として、次の方法よりも優れた方法はありますか?
gnu - configure から子 makefile の 1 つに --program-prefix=PREFIX を渡すにはどうすればよいですか?
Autoconf は私を困惑させました。
次のように Makefile.in の COMPILE を変更しようとしました
しかし、私の FINALDIR の使用は未定義です。それを行う適切な方法は何ですか?私の弁護では、autoconf ビジネス全体は、明白なものを隠しているプリプロセッサのネズミの巣です。
よろしくお願いします...申し訳ありませんが、私はそのようなツールです!
autoconf - Automake と同名のファイル
FreeBSD ホストでコンパイルするように適応させている C++ autoconf マネージド プロジェクトがあります。元のシステムは Linux だったので、AM_CONDITIONAL を 1 つ作成して、ビルドしているホストを識別し、コードをシステム固有のファイルに分けました。
configure.ac
Makefile.am
automake を実行すると、次のようなメッセージで失敗します。
Makefile.in ビルド プロセスでもこの条件を尊重するように automake を構成する方法についてのアイデアはありますか?
ファイルの名前が異なる場合、これは機能しますが、それは C++ コードであり、ファイル名をクラス名と同じに保とうとしています。
前もって感謝します!
linux - GNU/Linux システムでは、どこからアプリケーション データをロードすればよいですか?
この例では、autoconf で c を使用していますが、問題は他の場所にも当てはまります。
実行時に必要なグレイド xml ファイルがあり、その場所をアプリケーションに伝える必要があります。autoconf を使用して、「指定されたプレフィックス ディレクトリ」/app-name/glade を指すコード内の変数を定義しています。しかし、それはアプリケーションがインストールされて初めて機能し始めます。その時点より前にプログラムを実行したい場合はどうすればよいですか? アプリケーション データをチェックする必要があるパスを決定する標準的な方法はありますか?
ありがとう
回答ありがとうございます。明確にするために、アプリ データがどこにインストールされているかを知る必要はありません (たとえば、/usr、usr/local などで検索することによって)。configure スクリプトがそれを行います。問題は、アプリがまだインストールされているかどうかを判断することでした。最初にインストール場所をチェックインし、そうでない場合は「./src/foo.glade」にチェックインすると思います。
c++ - Autotools を使用するためのビルド システムのリファクタリング
過去数日間、私は、過去数か月にわたってつなぎ合わせた Makefile の代わりに、autotoolsを使用してプロジェクトをビルドすることについて読んでいます。残念ながら、私のプロジェクト構造が現在どのようになっているのかについて十分な洞察を与えてくれる例は見つかりませんでした。
プロジェクトのアプリケーション コードに含まれる 3 つのライブラリがあります。単一の構成スクリプトを使用して、アプリケーションとライブラリを作成 (およびインストール) する最良の方法を探しています。
makefile - 適用前の依存関係の Autoconf コンパイル
私は過去数日間 autotools を使ってツールを使ってきましたが、最終的に大きな進歩を遂げました. 私が抱えている問題の 1 つは、メインのアプリケーション コードの前にコンパイルする必要がある 2 つのライブラリがあることです。これを行う方法がよくわかりません。私のディレクトリ構造は以下にあり、私のconfigure.acからのスニペットも同様です。
src/Makefileの前にcsv/Makefileとgtkworkbook/Makefileの両方をコンパイルする必要があります。これを指定する方法はありますか?現在、アプリケーションのコンパイル プロセス中に存在しないライブラリ (csv) に関するエラーが発生しています。
c++ - configureスクリプトに依存関係をチェックさせる方法
プロジェクトをビルドするために、autoconfを使用してconfigureスクリプトを生成しました。
必要なライブラリがインストールされていない限り、正常に動作します。一部のファイルが不足している場合はエラーが返されますが、実際にはconfigureスクリプトで確認する必要がありますか?
だから私の質問は:依存関係を探してユーザーにそれが欠けているライブラリを伝えるためにautoconfで生成されたスクリプトを変更する方法は?
makefile - Autotools ライブラリとオブジェクト ファイルの出力制御
私の目標は、すべてのオブジェクト ファイルを Makefile のルートではなく .objs ディレクトリに構築し、バイナリ (およびライブラリ) をプロジェクトのbin/ディレクトリにコピーすることです。しかし、これを行う方法を説明するリソースを見つけることができませんでした。どうすればこれを行うことができますか?
これが私の configure.ac とsrc/Makefile.amです - 参照されている 2 つの共有ライブラリ用の同様の Makefile.am ファイルがあります。それらはコンパイルされ、それらをbin/ディレクトリにコピーした後、正常に動作します。私はこのプロセスを自動化しようとしています。
configure.ac
src/Makefile.am
したがって、私の質問は、各 Makefile のコンパイル結果の出力ディレクトリを指定する方法です (それらをbin/にコピーし、オブジェクト ファイルをMakefile のルートではなく各プロジェクトの.objに配置することを希望します)。 .
これまでご協力いただきありがとうございました.このウェブサイトは素晴らしいリソースであり、すでに提供されているリンクから多くのことを学びました.