找不到 Glog丢失:GLOG_INCLUDE_DIR GLOG_LIBRARY

问题描述

我正在尝试使用 CMAKE 在 Ubuntu 20.04 中安装 openpose,但出现以下错误

Could NOT find Glog (missing: GLOG_INCLUDE_DIR GLOG_LIBRARY) 

我按照这里的说明操作(不幸的是,屏幕截图不可用,但我只是按照文本命令操作): https://github.com/CMU-Perceptual-Computing-Lab/openpose/blob/master/doc/installation/README.md

我在 build 文件夹中创建了一个 openpose 文件夹,然后运行了 cmake-gui .. 命令。

GUI 打开并检查所有这些(我没有更改任何内容):

enter image description here

错误是:

GCC detected,adding compile flags
GCC detected,adding compile flags
Building with CUDA.
CUDA detected: 10.1
Added CUDA NVCC flags for: sm_75
cuDNN not found
Found gflags  (include: /usr/include,library: /usr/lib/x86_64-linux-gnu/libgflags.so)
Could NOT find Glog (missing: GLOG_INCLUDE_DIR GLOG_LIBRARY) 
CMake Warning at /usr/share/cmake-3.16/Modules/FindProtobuf.cmake:499 (message):
  Protobuf compiler version 3.13.0 doesn't match library version 3.6.1
Call Stack (most recent call first):
  CMakeLists.txt:429 (find_package)


Found Protobuf: /usr/lib/x86_64-linux-gnu/libprotobuf.so;-lpthread (found version "3.6.1") 
Found OpenCV: /usr (found version "4.2.0") 
cuDNN not found.
#!/bin/bash

echo "This script assumes Ubuntu 16 or 14 and Nvidia Graphics card up to 10XX. Otherwise,it will fail."

# Install cuDNN 5.1
if [[ $UBUNTU_VERSION == *"14."* ]] || [[ $UBUNTU_VERSION == *"15."* ]] || [[ $UBUNTU_VERSION == *"16."* ]]; then
    CUDNN_URL="http://developer.download.nvidia.com/compute/redist/cudnn/v5.1/cudnn-8.0-linux-x64-v5.1.tgz"
    wget -c ${CUDNN_URL}
    sudo tar -xzf cudnn-8.0-linux-x64-v5.1.tgz -C /usr/local
    rm cudnn-8.0-linux-x64-v5.1.tgz && sudo ldconfig
else
    echo "cuDNN NOT INSTALLED! Ubuntu 16 or 14 not found. Install cuDNN manually from 'https://developer.nvidia.com/cudnn'."
fi

CMake Error at CMakeLists.txt:520 (message):
  Install cuDNN using the above commands.  or turn off cuDNN by setting
  USE_CUDNN to OFF.


Configuring incomplete,errors occurred!
See also "/home/mona/research/code/openpose/build/CMakeFiles/CMakeOutput.log".
See also "/home/mona/research/code/openpose/build/CMakeFiles/CMakeError.log".

然后,我使用 sudo apt-get install libgflags-dev 命令安装了 gflags,但我仍然遇到相同的错误。我该如何解决这个问题?

这是查看我在哪个版本的存储库中重现错误git log

$ git log
commit a255747af22116ad76004437456bb531dc5d0b23 (HEAD -> master,origin/master,origin/HEAD)
Author: Wlad Meixner <9556979+gosticks@users.noreply.github.com>
Date:   Mon Dec 21 22:01:10 2020 +0100

    Fix possible typo (#1802)

可以在此处找到 CMakeOutput.log 和 CMakeError.log https://github.com/CMU-Perceptual-Computing-Lab/openpose/issues/1814

enter image description here

解决方法

如果您从命令行运行它,您应该会看到它们...

 if (NOT GLOG_FOUND)
    message(FATAL_ERROR "Glog not found. Install Glog from the command line using the command(s) -\
      sudo apt-get install libgoogle-glog-dev")
  endif (NOT GLOG_FOUND)

  if (NOT GFLAGS_FOUND)
    message(FATAL_ERROR "GFlags not found. Install GFlags from the command line using the command(s) --\
      sudo apt-get install libgflags-dev")
  endif (NOT GFLAGS_FOUND)

  if (NOT OpenCV_FOUND)
    message(FATAL_ERROR "OpenCV not found. Install OpenCV from the command line using the command(s) --\
      sudo apt-get install libopencv-dev")
  endif (NOT OpenCV_FOUND)

参考:https://github.com/CMU-Perceptual-Computing-Lab/openpose/blob/5a9acc730915f2171badcf10076aef9213f38e01/CMakeLists.txt#L523-L537

注意:更好的方法是在缺少第三方时使用 FetchContent()(因为他们提供基于 CMake 的构建),而且提供的命令仅适用于 ubuntu...

,
$ sudo apt install libgoogle-glog-dev 

还有,

$ sudo apt-get install libgflags-dev
$ sudo apt install libgoogle-glog-dev
$ sudo apt-get install protobuf-compiler libprotobuf-dev

因为最初我没有安装任何一个。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...