已安装的依赖包无法被CMake构建检测到的问题求助
解决Fedora 39中CMake无法检测已安装依赖包的问题
你遇到的CMake报错(比如Package 'hyprcursor', required by 'virtual:world', not found),根源是你安装的是依赖的运行时包,而非构建所需的开发包。
从rpm -ql hyprcursor的输出能看到,安装的文件只有运行时库(/usr/lib64/libhyprcursor.so.0等)、工具和文档,缺少CMake或pkg-config检测依赖必需的文件——比如头文件、.pc(pkg-config配置文件)、CMake模块文件。
解决步骤:
- 安装对应依赖的开发包,执行以下命令:
sudo dnf install hyprcursor-devel libliftoff-devel libdisplay-info-devel - 验证安装:安装完成后,用
rpm -ql hyprcursor-devel查看,会看到类似/usr/include/hyprcursor(头文件目录)、/usr/lib64/pkgconfig/hyprcursor.pc这类开发相关文件,这些就是CMake检测依赖的关键。
为什么源码构建依赖能正常工作?
从源码编译并安装依赖时,构建流程会自动生成并安装开发所需的配置文件和头文件,后续项目构建时CMake就能正常检测到;而通过DNF安装的普通包仅包含运行程序必需的库文件,不提供构建时的开发资源。
内容的提问来源于stack exchange,提问作者shohel hossain
相关产品推荐
相关产品推荐

