如何让 vcpkg 在系统范围内安装软件包

如何让 vcpkg 在系统范围内安装软件包

我的系统包管理器dnf(我使用的是 fedora Linux)没有imgui包或assimp包,所以我决定使用vcpkg安装imguiassimp.

我认为问题是这find_package不适用于安装的软件包,vcpkg因为该vcpkg目录位于我的主目录中,并且我想cmake无法知道它imgui是否安装在我的主目录中。

这是我尝试使用 cmake 构建时遇到的错误:

$ cmake -DCMAKE_BUILD_TYPE=Debug -S .. -B .
-- Submodule update CMake Error at CMakeLists.txt:40 (find_package): Could not find a package configuration file provided by "imgui" with
any of the following names: imguiConfig.cmake imgui-config.cmake Add
the installation prefix of "imgui" to CMAKE_PREFIX_PATH or set
"imgui_DIR" to a directory containing one of the above files. If
"imgui" provides a separate development package or SDK, be sure it has
been installed.
-- Configuring incomplete, errors occurred!

那么我如何在系统范围内进行vcpkg安装或任何软件包,就像在哪里可以找到它一样?imguidnfcmake

答案1

我决定将该目录移动vcpkg到我的项目文件夹中并设置CMAKE_PREFIX_PATH为该vcpkg目录。这样我的项目是独立的,我不需要对vcpkg主目录中某个位置的路径进行硬编码。

我将其添加到我的 cmake 中:

set(CMAKE_PREFIX_PATH "${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/installed/x64-linux")

但我认为该包有问题,因为安装中vcpkg imgui没有文件,所以我将其添加为子模块。imgui_impl_*imguivcpkgimgui

相关内容