8.关于vcpkg的使用

补充:

《课程上》暂不涉及OpenCVassimp库的使用,但在cmakelists文件及工具代码中使用了OpenCV库,建议根据如下教程安装OpenCV

8.1.通过vcpkg安装OpenCV

Vcpkg是由MicrosoftC++社区维护的免费开源C/C++包管理器,可在Windows、macOS和Linux上运行。它是核心的C++工具,使用C++和CMake脚本编写。它旨在解决管理C/C++库的独特难题。

vcpkg在与CMakeMSBuild环境集成方面具有优势。

cd 到vcpkg安装目录
# 如此前运行过(比如在安装vcpkg时)`./vcpkg integrate install`,则无须再运行
./vcpkg integrate install
./vcpkg install opencv4:x64-windows

然后在cmakelists中添加:

set(OpenCV_ROOT "${VCPKG_INSTALLED_DIR}/x64-windows/share/opencv4")
find_package(OpenCV REQUIRED)

其中set(OpenCV_ROOT "${VCPKG_INSTALLED_DIR}/x64-windows/share/opencv4")也可以通过设置电脑环境变量的方式, 或者通过在cmakelists中设置vcpkg为构建工具链:

# --- vcpkg
if (DEFINED ENV{VCPKG_ROOT} AND NOT DEFINED CMAKE_TOOLCHAIN_FILE)
    message(STATUS "VCPKG_ROOT: $ENV{VCPKG_ROOT}")
    set(CMAKE_TOOLCHAIN_FILE "$ENV{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake" CACHE STRING "")
endif()

这样可通过vcpkg找到通过其安装的依赖库,包括OpenCV库,是不是方便了很多?我们可以使用vcpkg统一管理依赖库,然后在不同的项目中方便的使用;

Attention

  1. 在安装完vcpkg后一定要运行命令.\vcpkg integrate install集成至本机环境,否则cmake可能无法正确设置vcpkg为构建工具链。如果此前没有运行,现在运行也来得及~
  2. 还记得此前安装完vcpkg后我们设置的如下环境变量吗?这是一个好习惯

vcpkg默认配置

图:vcpkg默认配置

8.2.通过vcpkg安装assimp(按需)

如果需要使用assimp库,相信你已经知道怎么通过vcpkg来安装,并在cmakelists中配置使用了。

cd 到vcpkg安装目录
# 如此前运行过`./vcpkg integrate install`,则无须再运行
./vcpkg integrate install
./vcpkg install assimp

请回顾上述内容,可参考下面的链接,如果有必要的话,

https://github.com/assimp/assimp/blob/master/Build.md#install-on-all-platforms-using-vcpkg