cmake报错CMake Error at CMakeLists.txt: Can‘t find Google Log (glog). Please set either ... 的解决方法

9 篇文章 0 订阅

  在编译ceres-solver的时候,报错找不到glog。完整的报错内容如下:

CMake Error at CMakeLists.txt:467 (message):
  Can't find Google Log (glog).  Please set either: glog_DIR (newer CMake
  built versions of glog) or GLOG_INCLUDE_DIR & GLOG_LIBRARY or enable
  MINIGLOG option to use minimal glog implementation.

  也许,当看到找不到一个包的时候,我们的第一反应会是pip install一下。但是,无效。可能是因为pip是安装在虚拟环境内了吧,cmake并不能找到。而根据报错信息,可以看出,可选的解决方案有:

  1. set glog_DIR (newer CMake built versions of glog)
  2. set GLOG_INCLUDE_DIR & GLOG_LIBRARY
  3. enable MINIGLOG option to use minimal glog implementation

  于是,我通过locate glog命令,查找到了系统上的glog相关信息,如下图所示:
在这里插入图片描述
  从前四行输出可以看到,原来我们在clone ceres源码下来的时候,就已经顺便把miniglog给克隆下来了。因此,第三个解决方案也许会是最简单的。我们打开该项目的CMakeLists.txt文件,找到报错的位置(我这里是第467行),然后,在前面加上set(MINIGLOG 1)(也就是设置MINIGLOG这个变量值为1,这样就可以走if这个分支,就会自动编译miniglog了),如下图所示:
在这里插入图片描述
  然后保存退出,再次进行cmake,该问题成功解决。

  • 9
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
无法找到 Google Log(glog)的问题可能是由于以下原因导致的: 1. glog 在系统中未安装:您需要确保已经正确地安装了 glog。您可以通过以下命令来尝试安装 glog: ``` sudo apt-get install libgoogle-glog-dev ``` 这将在您的系统中安装 glog 相关的库和文件。 2. glog 的安装目录配置不正确:在编译和链接您的项目之前,您需要正确地设置 glog 的安装目录。在 CMake 中,您可以通过设置 `glog_DIR` 变量来指定 glog 的安装目录。假设您的 glog 安装在 `/usr/local` 目录下,您可以在 CMakeLists.txt 文件中添加以下语句: ```cmake set(glog_DIR /usr/local/lib/cmake/glog) ``` 确保将路径替换为您系统中实际的 glog 安装目录。 3. glog 的目录未包含在系统的路径变量中:在运行时,系统需要知道 glog 的安装目录才能正确加载 glog 函数和库。您可以尝试添加 glog 的安装目录到系统的路径变量中。假设您的 glog 安装在 `/usr/local/lib` 目录下,您可以执行以下命令来添加路径: ``` export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH ``` 这将临时添加 `/usr/local/lib` 到路径变量中。如果希望永久性地将此路径添加到路径变量中,请修改您的 `.bashrc` 或 `.bash_profile` 文件,并将上述命令添加到文件末尾。 请注意,以上解决方案基于 Linux 系统的情况,如果您使用的是其他操作系统,请根据实际情况进行相应的调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zeeq_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值