6

私は、pkg-configを使用してWindows(msvc)でgstreamer libを見つけようとしています

pkg-config gstreamer-0.10 --cflags --libs

しかし、私はこのような結果を得ています

Package gstreamer-0.10 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gstreamer-0.10.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gstreamer-0.10' found

ライブラリがインストールされると、.pc のようなものが作成されます (RPM、deb、またはその他のバイナリ パッケージ システムを使用して自動的に、またはソースからコンパイルすることによって)。gstreamer ディレクトリに .pc ファイルが見つかりません。

必要なすべての詳細を含む .pc ファイルを作成する必要があります。

prefix=C:\Program Files (x86)\OSSBuild\GStreamer\v0.10.7
exec_prefix=${prefix}
libdir=${exec_prefix}\lib
includedir=${prefix}\sdk\include\gstreamer-0.10
toolsdir=${exec_prefix}\bin
pluginsdir=${exec_prefix}\lib\gstreamer-0.10
datarootdir=${prefix}\share
datadir=${datarootdir}
girdir=${datadir}/gir-1.0
typelibdir=${libdir}/girepository-1.0

Name: GStreamer
Description: Streaming media framework
Requires: glib-2.0, gobject-2.0, gmodule-no-export-2.0, gthread-2.0, libxml-2.0
Version: 0.10.35
Libs: -L${libdir} -lgstreamer-0.10
Cflags: -I${includedir}

または、これを行う他の方法がありますか、何か不足していますか?

問題を読んでくれてありがとう。

not foundさて、gstreamerのwaf configureでメッセージが表示される理由を解決するためにこれを行っています

conf.check_cfg(atleast_pkgconfig_version='0.0.0') 
conf.check_cfg(package='gstreamer-0.10', uselib_store='GSTREAMER', args='--cflags --libs', mandatory=True)

コードは Linux で動作し、Windows でも動作するはずです。


後で追加

.pc を作成し、.pc ディレクトリのパスを PKG_CONFIG_PATH 環境変数に設定すると、うまくいきます。難しいことではありません。

これをチェックしてください。読んで助けてくれてありがとう.. :)

4

1 に答える 1

3

pkg-configは優れたツールですが、残念ながらWindows(UNIXと比較して)には標準の実行可能PATHまたはPKG_CONFIG_PATHはありません。

オプションの定義に戻ることができます--with-gstreamer-include-dir...--with-gstreamer-lib-dir ...そしてpkg-configの依存関係を回避できますが、-pkgconfig-execを使用することもできます。 \ path \ to \ pkg-config.exe --pkgconfig-path c:\ path \ to \ gstreamer; c:\ path \ to \ otherlib、これは、特に大量のpkgを使用する場合に、見栄えの良いwscriptを作成するのに役立ちます-configlibs。

一般的なWin32ユーザーは、PKG_CONFIG_PATHとPATHを直接設定したり、不可解な「見つかりません」エラーに遭遇してconfig.logをチェックしたりする際に問題が発生する可能性があります。

Windows固有のpkg-configオプションを追加すると、誰にとっても興味深いかもしれません。pkgconfig_optsツールを作成して、wafエクストラとして送信できます。

于 2012-06-17T16:07:59.130 に答える