Как установить конфигурацию pkg в Windows?

Я пытаюсь это сделать, но все, что я могу получить, это исходный код, с которым я не знаю, что делать. Я скачал его с http://pkgconfig.freedesktop.org/releases/.


person devoured elysium    schedule 10.11.2009    source источник


Ответы (8)


Получите предварительно скомпилированные двоичные файлы с http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/

Загрузите pkg-config и его зависимые библиотеки:

person ismail    schedule 10.11.2009
comment
Там же я нашел необходимые бинарники gtk; для pkg-config_0.26-1_win32.zip вам понадобится файл libglib-2.0-0.dll из ftp.gnome.org/pub/gnome/binaries/win32/glib/2.28/ и intl.dll из ftp.gnome.org/pub/gnome/binaries/win32/dependencies / - person Oliver Zendel; 22.05.2013
comment
Куда мне поместить эти файлы, чтобы они были найдены cmake? - person JuJoDi; 23.01.2014
comment
Поместите их в каталог /bin, где находится pkg-config. - person ; 28.02.2014
comment
Но где pkg-config в Windows ищет установленные библиотеки?? Куда он идет для поиска файлов pc? Это НАСТОЛЬКО сбивает с толку и позор для всех, кто занимается таким мусорным программным обеспечением... :) - person Zordid; 28.03.2019
comment
Вы не указали, куда их положить. - person C Johnson; 18.04.2019
comment
Поместите исполняемые файлы pkg-config и зависимые библиотеки DLL в любую папку по пути, например C:\WINDOWS - person SmacL; 18.11.2019

Это пошаговая процедура, основанная на моем опыте, чтобы заставить pkg-config работать в Windows, с использованием информации из комментария Оливера Зенделя.

Я предполагаю, что MinGW был установлен в C:\MinGW. Было доступно несколько версий пакетов, и в каждом случае я просто загружал последнюю версию.

  1. перейдите на http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/
  2. загрузите файл pkg-config_0.26- 1_win32.zip
  3. распакуйте файл bin/pkg-config.exe в C:\MinGW\bin
  4. загрузите файл gettext-runtime_0. 18.1.1-2_win32.zip
  5. извлеките файл bin/intl.dll в C:\MinGW\bin
  6. перейдите на http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.28
  7. загрузите файл glib_2.28.8- 1_win32.zip
  8. извлеките файл bin/libglib-2.0-0.dll в C:\MinGW\bin

Теперь CMake сможет использовать pkg-config, если он настроен на использование MinGW.

person HyperQuantum    schedule 12.03.2014
comment
как изменить cmake, чтобы настроить использование MinGW? - person cindywmiao; 17.06.2014
comment
@cindywmiao: выберите генератор CMake с MinGW в его имени, например MinGW Makefiles, из списка генераторов. Я лично использую CodeBlocks - MinGW Makefiles, который дополнительно генерирует файл проекта для CodeBlocks IDE. - person HyperQuantum; 18.06.2014
comment
Вам не нужно использовать MinGW — вы можете выполнить эти шаги, но извлечь pk-config.exe и необходимые DLL в любую папку по вашему выбору (включая новую папку), просто убедитесь, что папка находится в вашем PATH. - person yoyo; 09.05.2020

Альтернативой без зависимости от glib является pkg-config-lite.

Извлеките pkg-config.exe из архива и поместите его в свой путь.

В настоящее время этот пакет доступен с использованием chocolatey, после чего его можно установить с

choco install pkgconfiglite
person mpromonet    schedule 01.09.2014
comment
Работает хорошо, но другой pkg-config, указанный в FAQ здесь, дает сбой для меня на Windows 10 Home, а также Pro. - person kumarharsh; 07.12.2017

Я сделал это, установив Cygwin64 по этой ссылке https://www.cygwin.com/ Затем — просмотрите Полный, выполните поиск gcc и прокрутите вниз, чтобы найти pkg-config. Щелкните значок, чтобы выбрать последнюю версию. Это сработало для меня хорошо.

person Dzintars    schedule 04.09.2018

  1. Установите mingw64 с сайта https://sourceforge.net/projects/mingw-w64/. Избегайте папки Program Files/(x86) для установки. Бывший. c:/mingw-w64
  2. Загрузите pkg-config__win64.zip с здесь
  3. Извлеките вышеуказанный zip-файл и скопируйте и вставьте все файлы из папки pkg-config/bin в mingw-w64. В моем случае это «C:\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32\bin»
  4. Теперь установите путь = C:\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32\bin taddaaa вы сделали.

Если вы обнаружите какие-либо проблемы с безопасностью, выполните следующие действия.

  1. Поиск центра безопасности защитника Windows в системе
  2. Перейдите к приложениям и управлению браузером › Настройки защиты от эксплойтов › Настройки программы › Нажмите «+ добавить настройку программы».
  3. Выберите добавить программу по имени
  4. Введите имя программы: pkgconf.exe
  5. OK
  6. Теперь проверьте все настройки и отключите все настройки и примените.

СДЕЛАНО!

person Susena Patil    schedule 27.07.2020
comment
Таддааа вещь мне понравилась! - person Imtiyaz Shaikh; 22.10.2020

Я хотел бы расширить ответ @dzintars о версии pkg-config для Cygwin в том, как правильно использовать его с CMake, потому что я вижу различные комментарии о CMake в этой теме.

У меня было много проблем с pkg-config CMake + Cygwin, и я хочу поделиться своим опытом, как их избежать.

<сильный>1. Символическая ссылка C:/Cygwin64/bin/pkg-config -> pkgconf.exe не работает в консоли Windows.

Это не родная символическая ссылка Windows .lnk, и ее нельзя будет вызвать в консоли Windows cmd.exe, даже если вы добавите .; к вашему %PATHEXT% (см. https://www.mail-archive.com/[email protected]/msg104088.html).

Это не будет работать из CMake, потому что CMake вызывает pkg-config с методом execute_process() (FindPkgConfig.cmake), который открывает новый cmd.exe.

Решение. Добавьте -DPKG_CONFIG_EXECUTABLE=C:/Cygwin64/bin/pkgconf.exe в командную строку CMake (или задайте его в CMakeLists.txt).

<сильный>2. pkg-config Cygwin распознает только пути Cygwin в PKG_CONFIG_PATH (не пути Windows).

Например, в моей системе файлы .pc расположены в C:\Cygwin64\usr\x86_64-w64-mingw32\sys-root\mingw\lib\pkgconfig. Допустимы следующие три пути, но в PKG_CONFIG_PATH работает только путь C:

  • А) c:/Cygwin64/usr/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig - не работает.
  • Б) /c/cygdrive/usr/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig - не работает.
  • В) /usr/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig — работает.

Решение: всегда добавляйте расположение файлов .pc в качестве пути Cygwin в PKG_CONFIG_PATH.

3) CMake преобразует прямую косую черту в обратную косую черту в PKG_CONFIG_PATH в Cygwin.

Это происходит из-за ошибки https://gitlab.kitware.com/cmake/cmake/-/issues/21629. Это предотвращает использование обходного пути, описанного в [2].

Решение: вручную обновите функцию _pkg_set_path_internal() в файле C:/Program Files/CMake/share/cmake-3.x/Modules/FindPkgConfig.cmake. Закомментируйте/удалите строку:

file(TO_NATIVE_PATH "${_pkgconfig_path}" _pkgconfig_path)

4) CMAKE_PREFIX_PATH, CMAKE_FRAMEWORK_PATH, CMAKE_APPBUNDLE_PATH не влияют на pkg-config в Cygwin.

Причина: ошибка https://gitlab.kitware.com/cmake/cmake/-/issues/21775.

Решение. Используйте только PKG_CONFIG_PATH в качестве переменной среды, если вы запускаете сборки CMake на Cygwin. Забудьте о CMAKE_PREFIX_PATH, CMAKE_FRAMEWORK_PATH, CMAKE_APPBUNDLE_PATH.

person Alexander Samoylov    schedule 04.02.2021

Еще одно место, где вы можете получить больше обновленных двоичных файлов, находится на сайте Fedora Build System. Прямая ссылка на пакет mingw-pkg-config: http://koji.fedoraproject.org/koji/buildinfo?buildID=354619

person metator    schedule 29.01.2013
comment
Похоже, что на этом сайте есть более свежие сборки, но сборка, на которую вы ссылаетесь, устарела. Ссылка на пакет на самом деле koji.fedoraproject.org/koji/packageinfo?packageID=13212 - person player_03; 14.08.2013
comment
эта страница предполагает Mingw. Я запускаю Visual Studio 2008 на своем Mac с виртуальной машины. Места на жестком диске мало. Я не хочу устанавливать mingw или Cygwin только для того, чтобы запустить pkg-config. Отсутствует pkg-config — это ошибка, выдаваемая cmake. Я чувствую себя потерянным в этом беспорядке - person Jean-Denis Muys; 28.08.2013

для компьютеров на базе w64 необходимо установить mingw64. Если pkg-config.exe отсутствует, вы можете обратиться к http://ftp.acc.umu.se/pub/gnome/binaries/win64/dependencies/

Разархивируйте и скопируйте/вставьте pkg-config.exe в вашу установку C:\mingw-w64, например. на моем компьютере в C:\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin

person olippuner    schedule 05.01.2020