为什么 cmake 找不到已安装的包?

为什么 cmake 找不到已安装的包?

我正在努力建立这个仓库用于在 CUDA 中实现的神经网络。

我按照该链接中的说明进行操作,并在 shell 上执行以下操作:

git clone https://github.com/ANNetGPGPU/ANNetGPGPU.git
cd ANNetGPGPU
mkdir build
cd build
cmake .. && make

但是,当我写最后一行时,返回了以下错误:

CMake Error at /home/iibm/Documents/martins/cmake-3.12.1-Linux-x86_64/share/cmake-3.12/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find BZip2 (missing: BZIP2_LIBRARIES BZIP2_INCLUDE_DIR)
Call Stack (most recent call first):
  /home/iibm/Documents/martins/cmake-3.12.1-Linux-x86_64/share/cmake-3.12/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  /home/iibm/Documents/martins/cmake-3.12.1-Linux-x86_64/share/cmake-3.12/Modules/FindBZip2.cmake:62 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:7 (FIND_PACKAGE)


-- Configuring incomplete, errors occurred!
See also "/home/iibm/Documents/martins/ANNetGPGPU/build/CMakeFiles/CMakeOutput.log".

但 bzip2 肯定已安装,bzip2 --version返回结果如下:

bzip2, a block-sorting file compressor.  Version 1.0.6, 6-Sept-2010.

   Copyright (C) 1996-2010 by Julian Seward.

那么我该如何解决这个问题,为什么会发生这种情况?

答案1

当你构建使用 bzip2 等库的软件时,你需要安装 -dev 包,其中包含*.h编译器所需的头文件()和链接器所需的库文件。

就您而言,对于 bzip2,在 Ubuntu 上,包含您所需文件的包的名称是libbz2-dev,因此您可以通过安装此包来解决此问题:

sudo apt-get install libbz2-dev

相关内容