构建Google cpu-checker执行cmake ..时报找不到absl配置文件错误如何解决
问题解决步骤
这个报错是缺少Abseil(absl)C++库的CMake配置文件,按以下优先级尝试解决即可:
方案1:安装系统预编译的Abseil开发包
根据你使用的发行版执行对应安装命令,安装完成后重新执行cmake ..即可:
- Debian/Ubuntu 系列:
sudo apt install libabsl-dev - Fedora/RHEL 系列:
sudo dnf install abseil-cpp-devel - Arch Linux 系列:
sudo pacman -S abseil-cpp
方案2:手动编译安装Abseil
如果系统源没有对应包或者版本不符合要求,手动编译安装全局Abseil库:
- 获取Abseil官方源码后进入源码目录
- 执行以下命令编译安装:
mkdir build && cd build cmake .. -DCMAKE_CXX_STANDARD=17 -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=/usr/local make -j$(nproc) sudo make install
安装完成后如果CMake还是找不到absl,执行cmake时手动指定配置路径:cmake .. -Dabsl_DIR=/usr/local/lib/cmake/absl
方案3:项目内自动拉取依赖(无需全局安装)
如果不想全局安装Abseil,修改cpu-check项目根目录的CMakeLists.txt,在第86行find_package(absl REQUIRED)之前添加以下代码:
include(FetchContent) FetchContent_Declare( absl GIT_REPOSITORY https://github.com/abseil/abseil-cpp.git GIT_TAG 20240116.2 ) set(ABSL_ENABLE_INSTALL ON) set(ABSL_PROPAGATE_CXX_STD ON) FetchContent_MakeAvailable(absl)
保存后重新执行cmake ..,CMake会自动下载编译适配版本的Abseil作为项目子依赖,无需额外操作。
内容的提问来源于stack exchange,提问作者xXmahmanXx
相关产品推荐
相关产品推荐

