使用 vcpkg 使用自定义端口文件构建包
Build package with customized port file using vcpkg
我使用vcpkg
安装了OpenCV
包,由于OpenCV
自带vcpkg
自己的构建配置不支持libgtk
,我尝试 运行 OpenCV
with in WSL2
on windows 10 时出错。
我找到的解决方案 建议将 -DWITH_GTK=ON
添加到 cmake
配置中。我将该选项添加到 $vcpkgRoot/port/opencv4/porfile.make
中的端口文件。而我尝试rebuild/update OpenCV
,但似乎不起作用。
我搜索了文档,找不到关于如何使用 updated/customized portfile 重建包的明确描述。唯一可行的方法是卸载并使用修改后的端口文件重新安装。
如果您使用 vcpkg install opencv
然后使用 vcpkg remove opencv
opencv4 将不会被删除,因为端口 opencv
只是重定向到 opencv4
。所以如果你想删除 opencv4,你需要使用 vcpkg remove opencv4 --recurse
或 vcpkg remove opencv opencv4
。例如,同样如此。 openssl
需要指定平台,例如 openssl-windows
才能正确删除。
并且您不能使用 upgrade
命令,因为这需要更改 CONTROL 文件中的版本。
我使用vcpkg
安装了OpenCV
包,由于OpenCV
自带vcpkg
自己的构建配置不支持libgtk
,我尝试 运行 OpenCV
with in WSL2
on windows 10 时出错。
我找到的解决方案 -DWITH_GTK=ON
添加到 cmake
配置中。我将该选项添加到 $vcpkgRoot/port/opencv4/porfile.make
中的端口文件。而我尝试rebuild/update OpenCV
,但似乎不起作用。
我搜索了文档,找不到关于如何使用 updated/customized portfile 重建包的明确描述。唯一可行的方法是卸载并使用修改后的端口文件重新安装。
如果您使用 vcpkg install opencv
然后使用 vcpkg remove opencv
opencv4 将不会被删除,因为端口 opencv
只是重定向到 opencv4
。所以如果你想删除 opencv4,你需要使用 vcpkg remove opencv4 --recurse
或 vcpkg remove opencv opencv4
。例如,同样如此。 openssl
需要指定平台,例如 openssl-windows
才能正确删除。
并且您不能使用 upgrade
命令,因为这需要更改 CONTROL 文件中的版本。