使用 vcpkg 使用自定义端口文件构建包

Posted

技术标签:

【中文标题】使用 vcpkg 使用自定义端口文件构建包【英文标题】:Build package with customized port file using vcpkg 【发布时间】:2020-04-17 16:56:17 【问题描述】:

我使用vcpkg 安装了OpenCV 包,并且由于OpenCV 附带vcpkg 自己的构建配置不支持libgtk,因此尝试在@ 中运行OpenCV 时出现错误987654328@ 在 Windows 10 上。 我找到的解决方案OpenCV GTK+2.x error 建议将-DWITH_GTK=ON 添加到cmake 配置中。我将该选项添加到$vcpkgRoot/port/opencv4/porfile.make 中的端口文件中。我尝试重建/更新OpenCV,但似乎它不起作用。 我搜索了文档,但找不到关于如何使用更新/自定义的 portfile 来重建包的清晰描述。似乎可行的唯一方法是使用修改后的端口文件卸载并再次安装它。

【问题讨论】:

【参考方案1】:

如果您使用vcpkg install opencv,然后使用vcpkg remove opencv,则不会删除opencv4,因为端口opencv 只是重定向到opencv4。所以如果你想删除opencv4你需要使用vcpkg remove opencv4 --recursevcpkg remove opencv opencv4。这同样适用于例如openssl 需要指定平台,例如 openssl-windows 才能正确删除。

您不能使用upgrade 命令,因为这需要更改 CONTROL 文件中的版本。

【讨论】:

以上是关于使用 vcpkg 使用自定义端口文件构建包的主要内容,如果未能解决你的问题,请参考以下文章

打包/解包自定义对象的 HashMap 的最佳方法是啥?

ckeditor 表情包自定义

getCudaEnabledDeviceCount() 返回 -1:使用 vcpkg 构建的 OpenCV [cuda]

使用 pysftp 针对使用自定义端口的 known_hosts 文件验证主机密钥

抓包实战项目

在自定义 .plist 文件中使用用户定义的构建设置