Я пытаюсь это сделать, но все, что я могу получить, это исходный код, с которым я не знаю, что делать. Я скачал его с http://pkgconfig.freedesktop.org/releases/.
Как установить конфигурацию pkg в Windows?
Ответы (8)
Получите предварительно скомпилированные двоичные файлы с http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/
Загрузите pkg-config и его зависимые библиотеки:
- pkg-config_0.26-1_win32. заархивировать
- glib_2.28.8-1_win32.zip< /а>
- gettext-runtime_0.18.1. 1-2_win32.zip
/bin
, где находится pkg-config.
- person ; 28.02.2014
Это пошаговая процедура, основанная на моем опыте, чтобы заставить pkg-config работать в Windows, с использованием информации из комментария Оливера Зенделя.
Я предполагаю, что MinGW был установлен в C:\MinGW. Было доступно несколько версий пакетов, и в каждом случае я просто загружал последнюю версию.
- перейдите на http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/
- загрузите файл pkg-config_0.26- 1_win32.zip
- распакуйте файл bin/pkg-config.exe в C:\MinGW\bin
- загрузите файл gettext-runtime_0. 18.1.1-2_win32.zip
- извлеките файл bin/intl.dll в C:\MinGW\bin
- перейдите на http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.28
- загрузите файл glib_2.28.8- 1_win32.zip
- извлеките файл bin/libglib-2.0-0.dll в C:\MinGW\bin
Теперь CMake сможет использовать pkg-config, если он настроен на использование MinGW.
Альтернативой без зависимости от glib является pkg-config-lite.
Извлеките pkg-config.exe
из архива и поместите его в свой путь.
В настоящее время этот пакет доступен с использованием chocolatey, после чего его можно установить с
choco install pkgconfiglite
Я сделал это, установив Cygwin64 по этой ссылке https://www.cygwin.com/ Затем — просмотрите Полный, выполните поиск gcc и прокрутите вниз, чтобы найти pkg-config. Щелкните значок, чтобы выбрать последнюю версию. Это сработало для меня хорошо.
- Установите mingw64 с сайта https://sourceforge.net/projects/mingw-w64/. Избегайте папки Program Files/(x86) для установки. Бывший. c:/mingw-w64
- Загрузите pkg-config__win64.zip с здесь
- Извлеките вышеуказанный zip-файл и скопируйте и вставьте все файлы из папки pkg-config/bin в mingw-w64. В моем случае это «C:\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32\bin»
- Теперь установите путь = C:\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32\bin taddaaa вы сделали.
Если вы обнаружите какие-либо проблемы с безопасностью, выполните следующие действия.
- Поиск центра безопасности защитника Windows в системе
- Перейдите к приложениям и управлению браузером › Настройки защиты от эксплойтов › Настройки программы › Нажмите «+ добавить настройку программы».
- Выберите добавить программу по имени
- Введите имя программы: pkgconf.exe
- OK
- Теперь проверьте все настройки и отключите все настройки и примените.
СДЕЛАНО!
Я хотел бы расширить ответ @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.
Еще одно место, где вы можете получить больше обновленных двоичных файлов, находится на сайте Fedora Build System. Прямая ссылка на пакет mingw-pkg-config: http://koji.fedoraproject.org/koji/buildinfo?buildID=354619
для компьютеров на базе 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