我的系统包管理器dnf
(我使用的是 fedora Linux)没有imgui
包或assimp
包,所以我决定使用vcpkg
安装imgui
和assimp
.
我认为问题是这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
安装或任何软件包,就像在哪里可以找到它一样?imgui
dnf
cmake
答案1
我决定将该目录移动vcpkg
到我的项目文件夹中并设置CMAKE_PREFIX_PATH
为该vcpkg
目录。这样我的项目是独立的,我不需要对vcpkg
主目录中某个位置的路径进行硬编码。
我将其添加到我的 cmake 中:
set(CMAKE_PREFIX_PATH "${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/installed/x64-linux")
但我认为该包有问题,因为安装中vcpkg
imgui
没有文件,所以我将其添加为子模块。imgui_impl_*
imgui
vcpkg
imgui