問題タブ [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.
configuration - autoconf/automake の外部ライブラリ設定マクロ
次のことができる汎用ライブラリを構成する autoconf マクロはありますか?
- --configure オプションを使用して生成
- セットアップ ライブラリとインクルード パス
- コンパイラ/プリプロセッサおよびリンカー フラグを設定する
- ライブラリとインクルード ファイルの存在を確認する
- セットアップ構成マクロ
現在、ARG_WITH、CHECK_LIB などを使用してすべてを行っています。手順は一般的なもので、小さな変更を加えたコピー/貼り付けになります。マクロアーカイブを検索しましたが、一般的な解決策が見つかりませんでした。
ありがとう
c - autoconfでnvccコンパイルをチェックすることは可能ですか?
構成プロセス中にいくつかの典型的な cuda 機能をテストしようとしています。configure.ac にどのように書き込むことができますか? 何かのようなもの:
ただし、AC_LANG には nvcc が定義されていません。独自の m4 マクロを作成する必要がありますか?
c++ - libtool共有ライブラリ(.loファイル)をインストールして使用するにはどうすればよいですか?
したがって、libtoolを実行し、ライブラリソースからファイルを取得した後libfoo.lo
、ターゲットシステムにインストールしてリンクできるように、ファイルを通常のLinux共有ライブラリfoo.o
に変換するにはどうすればよいですか?libfoo.lo
libfoo.so.1.0.0
sdl - cal3d デモ「cally」のコンパイル (ボーンアニメーションを含む 3d モデルライブラリ)
これはautomakeに関する質問だと思います。
Cal3D のひどいデモに苦労しています。最初に遭遇した問題は、Cal3D コード ベースが見つから#include <cstring>
ず#include <memory>
、多くの場所にあることでした。
Cal3d のソース ファイルでエラーが発生するたびにこれを行うだけで、十分にコンパイルできました。
Callyデモにもいくつか必要でした#include <cstring>
今私の問題は、tick.cpp のコンパイル時に HAVE_SDL_H が定義されていないことです。configure と makefile は私のシステムに SDL がインストールされていることを受け入れているようですが、src/tick.cpp のマクロは受け入れていません。
configure.in か何かに何らかのバグがあると思いますが、それが何であるかはわかりません。
編集:
私はついにデモをコンパイルしました。
cal3d をコンパイルしたときに#include <cstring>
、次のファイルに追加しました。
- src/cal3d/hardwaremodel.cpp
- src/cal3d/platform.cpp
- src/cal3d/renderer.cpp
- src/cal3d/submesh.cpp
- src/cal3d_converter.cpp
cally をコンパイルしたときに#include <cstring>
、次のファイルに追加しました。
- src/demo.cpp
- src/model.cpp
model.cppで、640 行目を次のように変更しました。
に
また、 src/tick.cppをコンパイルするために、さらに醜い変更を加えました。
src/tick.cpp で、SDL に関係するすべてのものを削除しました。Tick::getTime() もコンパイルできるように、__i386__ または __ia64__ をチェックする if 句のマクロも削除しました。
これが適切な修正ではないことはわかっているので、改善は大歓迎です。
- 2.6.27 カーネルの 64 ビット OpenSuSE。
- GCC: 4.3.2
- GNU オートメイク: 1.10.1
- GNU Autoconf 2.63
- SDL ライブラリの 64 ビット バージョンは、zypper を使用して (GUI 経由で) インストールされます。
解決
configure.in変更で
に
(その後、autoreconf と ./configure を実行します)
tick.cppで、すべてのチェックをHAVE_SDL_H
に変更しますHAVE_SDL_SDL_H
これはすべて、sdl ライブラリの再構築によるものです。
gcc - autoconf configure script / makefile にライブラリへのリンクを追加する方法
私はautotoolsの初心者で、特定のライブラリを構成済みのターゲットの1つに簡単にリンクする方法を理解するのに苦労しています。
通常の方法でビルドしたいソースパッケージがあります: ./configure && make && make install
残念ながら、cpp の 1 つに別のライブラリへの参照がありません。手でコンパイル(コマンドラインを調整)するとうまくいきます。しかし、コンパイル スクリプトに「パッチ」を適用したいと思います。リンク参照を編集する標準的な場所はどこですか?
それが私のエラーメッセージです。
c++ - バージョンとアーチ情報をC++ソースに挿入するための最良の方法は何ですか?
C++プログラムに「--version」オプションを含めて出力させたいのですが。
- コンパイルされたアーキテクチャ
- ソースのバージョン(例:v0.1.0)
- アプリケーションの名前
また、autoconf / automakeを初めて使用していますが、configure.acにバイナリとバージョンの両方があることに気付きました。現在、アーキテクチャ情報は含まれていません。複数のアーチの下でコンパイルするため、このような情報を追加したくありません。
ヘッダーまたはソースファイルへのバージョン/アーチ/アプリ名情報の挿入を自動化する簡単な方法はありますか?ほとんどのC++コーダーはこれをどのように行いますか?
c++ - 複数のシステムで同時に、別々のアーキテクチャのプロジェクトをビルドするために autotools をどのようにセットアップしますか?
automake と autoconf を使用する C++ プロジェクトがあります。私はこれらの両方に慣れていません。
私のホーム ディレクトリはネットワークにマウントされており (すべてのサーバーで同じ)、プロジェクト (およびその実行可能ファイル) を別々のマシンで同時にコンパイルして実行したいと考えています。
私たちのサーバーは、しばしば異なるアーキテクチャです。私のデスクトップは 32 ビットですが、サーバーは 64 ビットなどです。
マシン アーキテクチャの名前が付けられた別のディレクトリにあるオブジェクト ファイルをコンパイルするにはconfigure.ac
、どのオプションを使用すればよいですか? Makefile.am
通常の Makefile でこれを行うのは比較的簡単ですが、自動ツールの設定方法がわかりません。
autotools - configureスクリプトでautomake/autoconfのバージョンを確認してください
Automakeバージョンx.xxより上にある場合にこのコードを実行するconfigureスクリプトを編集しようとしていますが、そうでない場合は別のコードを実行します。
したがって、バージョンは1.10以上である必要があります。その場合は、次のようにします。
そして、そうでなければ:
だから私はそれがこのように見えると思います(でconfigure.in
):
また、autoconfまたはautomakeのバージョンを確認する必要がありますか?おそらく両方?
autotools - Automakeは、src/ではなくbin/にバイナリを生成します
私はこの質問に対する答えを探しましたが、良いものは見つかりませんでした。たぶん古くて何かが変わったので、もう一度お願いします。
私は次のようなディレクトリ構造を持っています:
私のプロジェクト
src
置き場
ルートディレクトリで作成する場合、バイナリは./srcを乱雑にするのではなく、./binに配置する必要があります。しかし、どのように?
編集:私はC++を使用しています。私のMakefile.amには特別なことは何もありません。bin_PROGRAM変数と_SOURCES変数だけです。
makeを実行すると、生成されたバイナリが./srcに配置されます。./binに入れたいだけです。
python - Python で autoconf 定義のシンボルにアクセスする
私は C++ と Python の両方で書かれたプロジェクトに取り組んでいます。configure.ac に次の行があります。
これは、configure を実行して生成された config.h に、次の定義行があることを意味します。
このような構成シンボルを解析するための既存のモジュールがあるかどうか、または少なくともPythonでこれらの定義にアクセスする標準的な方法があるかどうかを知りたかっただけです。