Как установить конфиг pkg в windows?
Я пытаюсь это сделать, но все, что я могу получить, это какой-то исходный код, с которым я не знаю, как поступить, я скачал с http://pkgconfig.freedesktop.org/releases/.
Любая помощь?
10 ответов
Получите предварительно скомпилированные двоичные файлы от http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/
Скачайте pkg-config и его зависимые библиотеки:
Это пошаговая процедура, чтобы заставить 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
из архива и положить его на свой путь.
Я сделал это, установив Cygwin64 по этой ссылке https://www.cygwin.com/ Затем - Wiew Full, найдите gcc и прокрутите вниз, чтобы найти pkg-config. Нажмите на иконку, чтобы выбрать последнюю версию. Это сработало для меня хорошо.
Я хотел бы расширить ответ @dzintars о Cygwin-версии pkg-config в том фокусе, как следует использовать его правильно с 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/ <span class="__cf_email__" data-cfemail="5132283626383f1132283626383f7f323e3c">[электронная почта защищена]</span> /msg104088.html).
Это не будет работать из CMake, потому что CMake вызывает pkg-config с методом execute_process () (FindPkgConfig.cmake), который открывает новый cmd.exe.
Решение : добавьте -DPKG_CONFIG_EXECUTABLE=C:/Cygwin64/bin/pkgconf.exe в командную строку CMake (или установите его в CMakeLists.txt).
2. Cygwin pkg-config распознает только пути 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.
- Установите mingw64 с https://sourceforge.net/projects/mingw-w64/. Избегайте установки папки программных файлов /(x86). Ex. 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 defender в системе
- Перейдите в раздел "Приложения и управление браузером"> "Настройки защиты от эксплойтов"> "Настройки программы"> нажмите "+ добавить настройку программы".
- Выберите добавить программу по названию
- Введите имя программы: pkgconf.exe
- в порядке
- Теперь проверьте все настройки, отключите все настройки и примените.
СДЕЛАНО!
В 2022 году VS Code работает с CMake и pkgconfig из коробки (добавьтеpkgconf
&&vcpkg-pkgconfig-get-modules
к вашему vcpkg.json)
Из: https://github.com/JoinMarket-Org/joinmarket/wiki/Installing-JoinMarket-on-Windows
В этом руководстве описывается, как установить JoinMarket и его зависимости (python, libsodium, secp256k1) в Windows.
Часть или все это может работать или не работать для всех версий Windows. Отчеты приветствуются. Он никоим образом не претендует на полноту. Проверка загрузок является вашей собственной ответственностью.
Install JoinMarket - go to https://github.com/JoinMarket-Org/joinmarket/releases and download the most recent release. Unzip it into any location you choose.
You will need to install MinGW from here or go to their website. After a few introductory screens, you will be shown a windows with some optional components that you have to choose; this basic setup is sufficient:
Из «Основных настроек» в левом меню:
mingw-developer-toolkit
mingw32-base
mingw32-gcc-g++
msys-base
Выбрав их, выберите «Обновить» в первом пункте главного меню. Эти компоненты будут установлены в C:\MinGW\bin. Как только это будет завершено, у вас должна быть эта dll: libgcc_s_dw2-1.dll в этой папке C:\MinGW\bin вместе с множеством других файлов; Я упоминаю этот файл явно, так как он нужен специально для работы libsecp256k1 в этой настройке.
Затем вы должны убедиться, что C:\MinGW\bin добавлен к вашей переменной PATH. Вот одно руководство о том, как это сделать; вы должны добавить ;C:\MinGW\bin в конец пути, прежде чем продолжить.
Install Python from https://www.python.org/ftp/python/2.7.11/python-2.7.11.msi. Run the executable. Choose to install the feature Add python.exe to Path (it's the last option in the installer, off by default - switch it on) on local hard drive during installation; Python should then be installed in C:\Python27 (EXTRA NOTE: the most recent 2.7 installation linked here seems to install pip automatically, which is very useful for step 4)
Check that Python runs. Open a new command prompt as administrator by typing cmd.exe into the Start menu and pressing Ctrl+Shift+Enter. Type python and you should see something like:
Python 2.7.11 (default....
....
>>>
Выйдите из консоли Python с помощью exit() или нажав Ctrl+C. Теперь убедитесь, что ваша версия pip обновлена: выполните команду: python -m pip install --upgrade pip.
Go to the directory C:\Python27\Lib\distutils and add a new file, called distutils.cfg. Inside it, put:
[build]
compiler=mingw32
Закройте и сохраните файл.
Next, you need to install the dll for libnacl. First go to https://download.libsodium.org/libsodium/releases/ and choose the file libsodium-1.0.4-msvc.zip to download. Unzip anywhere, and then copy the file libsodium.dll from the directory \Win32\Release\v120\dynamic (do not use v140), and paste it into root joinmarket directory (the same directory where README.md lives). Then you need to address the Visual C++ 2013 runtime dependency. Do so by going to www.microsoft.com/en-us/download/details.aspx?id=40784 and clicking Download. Choose x86 even on a 64-bit system, and run the executable.
Note that after doing this, you must run pip install -r requirements-windows.txt from the Joinmarket root directory (where the README.md file is) and should not get an error message (this will install/check the python packages libnacl and secp256k1(-transient)).
Для компьютеров на базе 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
Еще одно место, где вы можете получить больше обновленных двоичных файлов, можно найти на сайте Fedora Build System. Прямая ссылка на пакет mingw-pkg-config: http://koji.fedoraproject.org/koji/buildinfo?buildID=354619