【发布时间】:2010-12-15 05:15:10
【问题描述】:
我正在尝试这样做,但我只能得到一些我从http://pkgconfig.freedesktop.org/releases/下载的不知道如何处理的源代码。
【问题讨论】:
标签: windows pkg-config
我正在尝试这样做,但我只能得到一些我从http://pkgconfig.freedesktop.org/releases/下载的不知道如何处理的源代码。
【问题讨论】:
标签: windows pkg-config
根据我的经验,使用 Oliver Zendel 评论中的信息,这是让 pkg-config 在 Windows 上运行的分步过程。
我在这里假设 MinGW 安装到 C:\MinGW。有多个版本的软件包可用,在每种情况下我都下载了最新版本。
如果配置为使用 MinGW,现在 CMake 将能够使用 pkg-config。
【讨论】:
【讨论】:
/bin 中。
不依赖 glib 的替代方法是 pkg-config-lite。
从存档中提取 pkg-config.exe 并将其放入您的路径中。
现在这个包可以使用chocolatey,然后就可以安装了
choco install pkgconfiglite
【讨论】:
我是通过从这个链接https://www.cygwin.com/ 安装 Cygwin64 来做到的 然后 - 查看 Full,搜索 gcc 并向下滚动以找到 pkg-config。 单击图标以选择最新版本。 这对我很有效。
【讨论】:
我想扩展@dzintars 关于 Cygwin 版本的 pkg-config 的答案,重点是如何将它与 CMake 一起正确使用,因为我在这个主题中看到了关于 CMake 的各种 cmet。
我在使用 CMake + Cygwin 的 pkg-config 时遇到了很多麻烦,我想分享我的经验如何避免它们。
1.符号链接 C:/Cygwin64/bin/pkg-config -> pkgconf.exe 在 Windows 控制台中不起作用。
它不是原生的 Windows .lnk 符号链接,即使您添加“.;”,它也无法在 Windows 控制台 cmd.exe 中调用到您的 %PATHEXT%(请参阅 https://www.mail-archive.com/cygwin@cygwin.com/msg104088.html)。
它在 CMake 中不起作用,因为 CMake 使用方法 execute_process() (FindPkgConfig.cmake) 调用 pkg-config,该方法会打开一个新的 cmd.exe。
解决方案:将 -DPKG_CONFIG_EXECUTABLE=C:/Cygwin64/bin/pkgconf.exe 添加到 CMake 命令行(或在 CMakeLists.txt 中设置)。
2。 Cygwin 的 pkg-config 仅识别 PKG_CONFIG_PATH 中的 Cygwin 路径(无 Windows 路径)。
例如,在我的系统上,.pc 文件位于 C:\Cygwin64\usr\x86_64-w64-mingw32\sys-root\mingw\lib\pkgconfig。以下三个路径都有效,但只有路径C在PKG_CONFIG_PATH中有效:
解决方案:始终将 .pc 文件位置作为 Cygwin 路径添加到 PKG_CONFIG_PATH 中。
3) CMake 在 Cygwin 的 PKG_CONFIG_PATH 中将正斜杠转换为反斜杠。
这是由于错误 https://gitlab.kitware.com/cmake/cmake/-/issues/21629 而发生的。它会阻止使用 [2] 中描述的解决方法。
解决方案:手动更新文件 C:/Program Files/CMake/share/cmake-3.x/Modules/FindPkgConfig.cmake 中的函数_pkg_set_path_internal()。注释/删除该行:
file(TO_NATIVE_PATH "${_pkgconfig_path}" _pkgconfig_path)
4) CMAKE_PREFIX_PATH、CMAKE_FRAMEWORK_PATH、CMAKE_APPBUNDLE_PATH 对 Cygwin 中的 pkg-config 没有影响。
原因:错误https://gitlab.kitware.com/cmake/cmake/-/issues/21775。
解决方案:如果您在 Cygwin 上运行 CMake 构建,请仅使用 PKG_CONFIG_PATH 作为环境变量。忘记 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
【讨论】: