如何在 CMakeLists.txt 上包含 Vcpkg?
How to include Vcpkg on CMakeLists.txt?
所以我有一个依赖opencv的项目,它是用vcpkg安装的。该项目是用 cmake 构建的。
CMakeLists.txt
cmake_minimum_required(VERSION 3.19.1)
set(CMAKE_TOOLCHAIN_FILE ~/vcpkg/scripts/buildsystems/vcpkg.cmake)
project(mylib)
set (CMAKE_CXX_STANDARD 14)
find_package(OpenCV REQUIRED)
include_directories(~/vcpkg/installed/x64-osx/include)
link_libraries(${OpenCV_LIBS})
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE)
add_library(mylib SHARED mylib another_lib)
可以看出,我正在尝试使用相同的 CMakeLists.txt
在 macOS 和 Windows 上构建它。
link_libraries(${OpenCV_LIBS})
可以在不同的操作系统之间很好地转换。
但是 include_directories(~/vcpkg/installed/x64-osx/include)
只适用于 macOS
,在 Windows
上它应该指的是 C:/vcpkg/installed/x64-windows/include
。
有没有opecv/vcpkg我可以使用这些的inlace?
这个 include_directories(~/vcpkg/installed/x64-osx/include)
看起来很奇怪。这应该是:
include_directories(${OpenCV_INCLUDE_DIRS})
您可以在清单模式下使用 vcpkg https://vcpkg.readthedocs.io/en/latest/users/manifests/
通过这种方式,您可以创建一个 JSON 文件,列出所有依赖项,并且在调用 cmake
时,vcpkg 将自动 bootstrap 并安装所有依赖项。
所以我有一个依赖opencv的项目,它是用vcpkg安装的。该项目是用 cmake 构建的。
CMakeLists.txt
cmake_minimum_required(VERSION 3.19.1)
set(CMAKE_TOOLCHAIN_FILE ~/vcpkg/scripts/buildsystems/vcpkg.cmake)
project(mylib)
set (CMAKE_CXX_STANDARD 14)
find_package(OpenCV REQUIRED)
include_directories(~/vcpkg/installed/x64-osx/include)
link_libraries(${OpenCV_LIBS})
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE)
add_library(mylib SHARED mylib another_lib)
可以看出,我正在尝试使用相同的 CMakeLists.txt
在 macOS 和 Windows 上构建它。
link_libraries(${OpenCV_LIBS})
可以在不同的操作系统之间很好地转换。
但是 include_directories(~/vcpkg/installed/x64-osx/include)
只适用于 macOS
,在 Windows
上它应该指的是 C:/vcpkg/installed/x64-windows/include
。
有没有opecv/vcpkg我可以使用这些的inlace?
这个 include_directories(~/vcpkg/installed/x64-osx/include)
看起来很奇怪。这应该是:
include_directories(${OpenCV_INCLUDE_DIRS})
您可以在清单模式下使用 vcpkg https://vcpkg.readthedocs.io/en/latest/users/manifests/
通过这种方式,您可以创建一个 JSON 文件,列出所有依赖项,并且在调用 cmake
时,vcpkg 将自动 bootstrap 并安装所有依赖项。