Поиск библиотек с помощью pkg-config в Windows

Я пытаюсь найти библиотеку gstreamer в Windows (msvc), используя pkg-config

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 или другой системы бинарной упаковки или путем компиляции из исходного кода). Я не могу найти .pc-файл в своем каталоге gstreamer.

Должен ли я просто создать файл .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 в моей настройке waf для gstreamer

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 делает свое дело. Это не сложно сделать.

Ознакомьтесь с этим. Спасибо, что читаете и помогаете мне .. :)


person Community    schedule 30.05.2012    source источник
comment
это значит. Я просто хочу знать, как найти определенную библиотеку в Windows с помощью pkconfig.   -  person    schedule 30.05.2012
comment
ну он установлен? мингв или кигвин? где он установлен? Попробуйте configure --help   -  person sehe    schedule 30.05.2012
comment
@sehe спасибо за ответ .pk-config установлен и работает. Я добавил переменную PKG_CONFIG_PATH в среду и создал некоторый файл .pc в каталоге пути с именем gstreamer-0.10.pc.   -  person    schedule 30.05.2012
comment
Как вы установили gstreamer - pkg_config имеет смысл только в том случае, если процесс установки Unixy выполнен   -  person mmmmmm    schedule 06.06.2012
comment
@Mark, я выполнил gstreamer из src. code.google.com/p/ossbuild. Ну, я не нашел другого способа, и мне пришлось сделать файл для него. :(...но он работает правильно..:)   -  person    schedule 13.06.2012


Ответы (1)


pkg-config — отличный инструмент, но, к сожалению, в Windows (по сравнению с UNIX) нет стандартного исполняемого файла PATH или PKG_CONFIG_PATH.

Хотя вы можете вернуться к определению параметров --with-gstreamer-include-dir ... --with-gstreamer-lib-dir ... и избежать зависимости от pkg-config, вы также можете использовать --pkgconfig-exe c: \path\to\pkg-config.exe --pkgconfig-path c:\path\to\gstreamer;c:\path\to\otherlib, что поможет иметь красивый wscript, особенно при использовании большого количества pkg -конфигурационные библиотеки.

Типичный пользователь Win32 может столкнуться с проблемами при установке PKG_CONFIG_PATH и PATH напрямую или наткнуться на загадочную ошибку «не найдено» и затем проверить config.log.

Если вы добавите специфичные для Windows параметры pkg-config, это может быть интересно всем. Вы можете написать инструмент pkgconfig_opts и отправить его как дополнительный waf.

person cJ Zougloub    schedule 17.06.2012