問題タブ [pkg-config]
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.
ubuntu - ubuntu で PKG_CONFIG_PATH 変数にディレクトリを設定する方法
特定のプログラムを Ubuntu で実行するために必要な、.pc ファイルを含むディレクトリを PKG_CONFIG_PATH 変数に追加したいと考えています。Google から解決策を見つけようとしましたが、実際にはうまくいきませんでした。
ここにログを貼り付けます。助けてください。
windows - .cabalで外部Cライブラリへの依存関係を指定するにはどうすればよいですか?
HackageでFFIバインディングを使用してライブラリを維持しています。したがって、私のHaskellライブラリは、対応するCライブラリとそのヘッダーファイルに依存しています。.cabal
ここで、次のようにファイルで外部依存関係を指定します。
そしてそれはLinuxで私にとってうまく機能します。pkg-config
しかし、私には、 Windowsへのインストールはかなり面倒であり、代わりに彼が好むと報告しているライブラリのユーザーがいます。
ライブラリをできるだけ簡単にビルドできるようにしたいのですが、厳密に必要とされていない依存関係を強制的にビルドしたくありません。ただし、Cabalのマニュアルではを使用するように提案されているようPkgConfig-Depends
です。
私の質問:
- クロスプラットフォームパッケージにはどちらの方法を選ぶべきですか?
.cabal
ある場合とない場合で機能するような方法でファイルを書き込むことは可能pkg-config
ですか?- そして、ちなみに、
pkg-config
Haskellプラットフォームに含まれています(私は今チェックするWindowsマシンを持っていません)?
windows - Windows で pkg-config の *.pc ファイルを作成するには?
最近、 GTK+ ウェブサイトからダウンロードした gtk+ オールインワン バンドルをダウンロードしました。これは正常に動作し、MinGW コンパイラを使用して Windows で gtk+ アプリケーションを構築できます。
しかし、lib/pkgconfig 内の pkg-config の *.pc ファイルを見てみると、奇妙なことに気付きました。glib-2.0 の始まりは次のようになります。
私の gtk+ フォルダーは C:\ とは別のドライブにあり、C:\devel フォルダーはまったくありません。では、この接頭辞は何を表しているのでしょうか? 自分のアプリケーションを簡単にリンクするために *.pc ファイルを作成することにした場合、どのプレフィックスを使用しますか?
驚くべきことに、 pkg-configを使用すると期待どおりに機能し、gtk+ フォルダー内のライブラリとヘッダーの正しいパスが返されます。
scons - Scons、bjam、および/またはcmakeを使用して、パッケージ構成ファイルを自動的に生成します
Hey Stackoverflowers: 1 つのコメントと 1 つの質問。
コメント: ご覧いただきありがとうございます。
質問:
Bjam、Scons、または Cmake は、ライブラリ プロジェクトの .pc ファイルを簡単にインストールできますか?
scons/bjam/make ファイル、.pc ファイル (ライブラリ用)、および rpm/deb パッケージ構成ファイルで同じライブラリ依存関係リストを維持しなければならないのは、本当に面倒です。
ビルド ツールがビルドおよびインストールのメタデータを管理できると便利です。
考え?
haskell - Windowsにcabalを使用してcairoをインストールすることはできません-winでpkg-configを取得する方法は?
では、どうすればWindowsでpkg-configを取得できますか、それからcairoをインストールする方法はありますか?
ubuntu - パッケージ「lua」は見つかりませんでしたが、インストールしました
Ubuntu 10.4 LTSにLsyncdをインストールしようとしていますが、エラーが発生します。
または、 Luaがインストールされていることを知っています。
lua.pc ファイルが必要だといくつかのフォーラムで読みましたが、見つかりません。誰も続行方法を知っていますか?
ありがとうございました
編集:解決済み
一部のパッケージが欠落していました;)
c - dbusヘッダーファイルを使用したCプログラムのコンパイル
Ubuntuで次のヘッダーを使用してCプログラムをコンパイルしようとしています:http://pastebin.com/SppCXb0U。最初はまったく運がなかったのですが、pkg-configについて読んだ後、次の行を作成しました。
ただし、それでも機能せず、次のエラーが発生します。
ここからどうしたらいいかわかりません。
==================================
いい説明-ありがとう。しかし、私はそれを動作させることができません。上記のコマンドを(追加して)実行すると、次の結果が得られます
pkg-config - pkg-config で代替バックエンドの依存関係を処理するには?
フロントエンドと複数のバックエンドに分割されたライブラリがあります。クライアント プログラムは、フロントエンド ライブラリと 1 つのバックエンド ライブラリに対してリンクする必要があります。フロントエンドで pkg-config が呼び出されたときに、何らかのバックエンドが指定されるように pkg-config に強制させたいと思います。
フロントエンドを libfoo-frontend と呼び、バックエンドを libfoo-backend-alpha と libfoo-backend-beta と呼びましょう。
明らかな解決策は、依存関係を逆にすることのように見えるかもしれません - 各バックエンドに「Requires: libfoo-frontend」を持たせます。ただし、pkg-config はlibfoo-frontend フラグの前にlibfoo-backend フラグを与えるため、これは機能しません。つまり、"-lfoo-backend-alpha -lfoo-frontend" を指定したリンク コマンド ラインで終了し、リンカは libfoo-backend-alpha をインクルードすることはありません。 libfoo-frontend の依存関係が満たされていない場合、後で失敗します。
私の現在の解決策は、pkg-config 仕様がフロントエンドとバックエンド間の依存関係を指定していないことです。フロントエンドと一部のバックエンドの両方にリンクするかどうかは、ユーザー次第です。欠点は、これが必要であることをユーザーが認識している必要があることです。バックエンドへのリンクを忘れると、依存関係が満たされていないためにリンクが失敗するため、あまり情報がありません。
私が望んでいた解決策は、フロントエンドの仕様に「Requires: libfoo-backend」のような行を含め、すべてのバックエンドの pkg-config 仕様に「Provides: libfoo-backend」のような行を含めることです。次に、ユーザーは「pkg-config --libs libfoo-frontend libfoo-backend-beta」のようなことを行います。ユーザーが何らかのバックエンドを指定するのを忘れた場合、pkg-config はそれらを思い出させるために文句を言います。残念ながら、pkg-config にはそのような「Requires」キーワードはありません。
pkg-config - gtk-2.0のpkgconfigオプション
GCCは次のエラーを返します
を使用find /usr -name 'gdk.h'
して、不足しているヘッダーを見つけることができました
gtk-2.0
コンパイラがディレクトリを検索していないという事実からエラーが発生しているとgdk
思いますが、それについては誤解されている可能性があります。私が正しい場合、のpkgconfig
オプションgtk-2.0
は何ですか、そして私が間違っている場合、私が本当に間違っているのは何ですか?
fuse - pkg-config--existsヒューズが失敗します
実行時にfuse-pythonパッケージをインストールしようとしています
setup.pyの内容を確認したところ、失敗しました。この行を見つけました
この行は失敗します。PKG_CONFIG_PATHをチェックするときも
何も印刷しません。どんな種類の助けもありがたいです。前もって感謝します