問題タブ [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.
linux - Jenkins、CMake、pkg-configを使用して複数のプロジェクトを構築するための好ましい方法は?
私は、Aに応じてBを使用して2つのライブラリAとBを開発しています。どちらも、独自のGitリポジトリで管理されています。ライブラリはCMakeで構築され、標準のUNIXディレクトリにインストールされます。インストール中に、.pc
によって使用されるファイルもインストールされpkg-config
ます。ライブラリBはpkg-config
ライブラリAの検索に使用するため、ライブラリAがシステム全体にインストールされているかmake install
、PKG_CONFIG_PATH
適切なディレクトリに設定されている必要があります。
ここで、Jenkinsを使用してリモートマシン上にライブラリAを構築します。残念ながら、依存関係が満たされていないため、ライブラリBを構築pkg-config
できません(ライブラリAが見つかりません)。コマンドは独自のシェルで実行されるため、ビルド前のステップでパスを設定することはできません。
質問は
- どういうわけか
make install
ライブラリAはできますか?または、 - どういうわけかCMakeを指すことができ
/var/lib/jenkins/jobs/libA/install_dir/lib
ますか? - 相互依存ライブラリを使用してプロジェクトを構築するためのより良い方法はありますか?
centos - spec ファイルの pkgconfig(alsa) が、すでにインストールされている alsa、alsa-devel を認識しない
CentOS 5.6 で qt をビルドしようとしていますが、システムに必要なライブラリがないという理由で失敗します。
Fedora qt ソース rpm ファイルからソースとスペック ファイルをビルドしようとしています。
$ rpmbuild -ba qt.spec
失敗メッセージは次のようになります。
ただし、上記のほとんど ( alsa-devel、fontconfig ...etc ) は既にインストールされています。および .pc ファイルは「/usr/lib64/pkgconfig/」にあります
rpmbuild は 'pkgconfig(...)' を認識できないと思います。
誰でも理由を知ることができますか?助けてください〜
前もって感謝します。
gstreamer - pkg-config は gstreamer-plugins-bad を表示しません
gstreamer の悪いプラグインの下にある rtmpsrc プラグインを使用してプログラムを作成しようとしています。pkg-config ツールを使用して gstreamer の悪いプラグイン プログラムをコンパイルすることに関する記事を読んだので、参照を含まない "pkg-config --list-all " を使用して、システムの pkg-config にすべての既知のパッケージを一覧表示しようとしました。 gstreamer-plugins-bad-0.10 これは、自分のマシンで gstreamer の悪いプラグイン プログラムをコンパイルできないということですか?
macos - pkg-config と OSX 10.8、適切な PKG_CONFIG_PATH? .pc ファイルがありませんか?
OSXに自作でpkg-configをインストールしました。PKG_CONFIG_PATH を何に設定すればよいかわかりません。/usr/include と /usr/local/include の組み合わせにする必要がありますか? どちらか一方を使用しても、.pc ファイルがないというエラーが表示されます。これには、pkg-config で使用される情報が含まれていますか? 私が間違っているのかわかりません。助けていただければ幸いです。
更新: 2 つの異なる質問をしているのかもしれません。gsl をカールして、./configure && make && sudo make install を実行しました。そして、空の $PKG_CONFIG_PATH で、実際にヒットしました:
しかし、/usr/local/lib をリストすると、gsl ライブラリは表示されますが、.pc ファイルは表示されません。pkg-config は、OSX にカスタム インストールされたパッケージでは機能するのに、デフォルトでインストールされたパッケージでは機能しないのはなぜですか?
c++ - MakefileでBoostライブラリを検索する
ビルドされたプロセスにBoostライブラリを含めるためのベストプラクティスは何ですか?
説明のために、私たちのプロジェクトがBoostの正規表現を利用し、次のようにコンパイルされていると仮定します。
…これは、次のものだけを含むMakefileを作成できることを意味します。
残念ながら、これは私のシステムでは機能しません。
ライブラリパスを指定しなかったので、これは理解できます。Boostは、コンパイラが見つけられない場所にインストールされます。
もちろん、Makefileにそのパスをハードコーディングしたくありません。そうしないと、プロジェクトを他のマシンでビルドできません。
1つの解決策は設定することですLD_LIBRARY_PATH
が、これはお勧めできません。
通常のライブラリの「実際の」ソリューションはpkg-config
、たとえば次のように使用することです。
…これは、の線に沿った何かに解決されます-L/path/to/sqlite/lib -lsqlite3
。
残念ながら、Boostはまだをサポートしていませんpkg-config
。
これは私にジレンマを残します。Boostライブラリのインストールパスを決定する普遍的な方法はないようです。他のプロジェクトはこれをどのように処理しますか?
(誰かが環境変数を提案しましたBOOST_ROOT
が、それも普遍的に存在するようには見えません。bashrc/ profileファイルの1つに手動で設定する必要があります。)
linux - Linux glib には pkg-config が必要で、pkg-config には glib が必要ですか?
udevをインストールしようとしています。udev は、実行中にエラーを表示します./configure
OK、pkg-config と glib-2.0 がありません。
最初に、pkg-config をインストールしようとしました。私はこのメッセージを受け取りました:
わかりました、そのglibが欠落していると解釈します。
次のステップで Glib をインストールします。
そして、私はこのメッセージを受け取りました:
しかし、私は今困惑しています。彼らはお互いを必要としていますか?私の間違いは何ですか?
linux - CMake で libffi ヘッダー ファイルを見つける
C++ プロジェクトをビルドするには libffi が必要です。問題は、libffi を見つけるための事前作成されたスクリプトが存在せず、ffi.h がライブラリのバージョンと Linux ディストリビューションによっては奇妙な場所にあることです。
これは私の試みです:
しかし、Find_Path() は再帰的に検索しないため、明らかに機能しません。それをより良くする方法は?
CMake の pkg-config モジュールを使用しようとしましたが、pkg-config でも見つかりません。
[ethon@Fleckstation Paper]$ pkg-config --cflags libffi パッケージ libffi が pkg-config 検索パスに見つかりませんでした。おそらく、「libffi.pc」を含むディレクトリを PKG_CONFIG_PATH 環境変数に追加する必要があります パッケージ「libffi」が見つかりません
ありがとう!
build - automake を使用して 2 つのライブラリ (一方は動的に、もう一方は静的) をリンクするにはどうすればよいですか?
fooアプリケーションをbarおよびbazライブラリにリンクするとします。どちらも pkg-config をサポートし、.pc ファイルを提供します。動的にリンクしたいbarライブラリと、静的にリンクしたいbazライブラリ。automakeでこれを達成するにはどうすればよいですか?
私の現在のセットアップは、両方を動的にリンクしており、次のようになっています。
xcode - XCode で pkg-config コマンドを使用できますか?
以前は次のようなコンパイル行がありました。
ただし、XCode では、インクルード パス、ライブラリ パス、およびリンク先の具体的な .dylib を設定する必要があります。ライブラリのバージョンを変更すると、すべての .dylib を手動で再設定する必要があります。を使用できるようになれば、この手間を省くことができますpkg-config
。
pkg-config
XCodeプロジェクトで使用できる方法(または適切な代替手段)を知っていますか?