фатальная ошибка: GLFW/glfw3.h: Нет такого файла или каталога 28 | #include <GLFW/glfw3.h>
Перешёл с дистрибутива Debian на Fedora linux. С помощью данного cmake скрипта собирал свою библиотеку на C++:
cmake_minimum_required(VERSION 3.12)
set(CMAKE_CXX_STANDARD 17)
project(KubeEngine)
find_package(Vulkan REQUIRED)
find_package(OpenGL REQUIRED)
find_package(glfw3 REQUIRED)
# set(SOURCES_DIR "kube_engine/core")
# file(GLOB SOURCES "${SOURCES_DIR}/*.cc")*
set(SOURCES
kube_engine/api/kube_engine_core_api.cpp
)
add_library(KubeEngine SHARED ${SOURCES})
target_include_directories(KubeEngine PRIVATE ../KubeEngine)
target_compile_options(KubeEngine PRIVATE -Wall -fPIC)
target_link_libraries(KubeEngine Vulkan::Vulkan)
target_link_libraries(KubeEngine OpenGL::GL)
target_link_libraries(KubeEngine glfw)
target_link_libraries(KubeEngine dl)
проблема в том, что на том же Debian с библиотекой glfw всё собиралось хорошо, когда же на fedora:
sh-5.1$ cmake -S . -B build
CMake Error at CMakeLists.txt:18 (find_package):
By not providing "Findglfw3.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "glfw3", but
CMake did not find one.
Could not find a package configuration file provided by "glfw3" with any of
the following names:
glfw3Config.cmake
glfw3-config.cmake
Add the installation prefix of "glfw3" to CMAKE_PREFIX_PATH or set
"glfw3_DIR" to a directory containing one of the above files. If "glfw3"
provides a separate development package or SDK, be sure it has been
installed.
-- Configuring incomplete, errors occurred!
Естественно все пакеты установлены:
sudo dnf install glfw-devel glfw
Пробовал также делать то, что просит cmake:
export CMAKE_PREFIX_PATH=/usr/lib64/cmake/glfw/
export CMAKE_MODULE_PATH=/usr/share/cmake/Modules/
Результатов снова ноль, пробовал компилировать с помощью make:
/home/vaisone/Документы/project/KubeEngine/../KubeEngine/kube_engine/core/platform.cc:28:14: фатальная ошибка: GLFW/glfw3.h: Нет такого файла или каталога
28 | #include <GLFW/glfw3.h>
| ^~~~~~~~~~~~~~
компиляция прервана.
Чтобы я не делал, он просто её тупо не видит, результатов ноль.
Источник: Stack Overflow на русском