当前位置: 首页 > news >正文

GICI —编译运行glog报错

检查以下几点

1. cmake版本要大于3.22

先看cmake版本够不够,出现以下错误

CMake Error at CMakeLists.txt:1 (cmake_minimum_required): CMake 3.22 or higher is required. You are running version 3.15.0 -- Configuring incomplete, errors occurred!

升级cmake版本,按步骤执行

sudo apt remove -y cmake sudo apt autoremove -y # 下载 3.22.6 版本的 Linux x86_64 安装包 wget https://github.com/Kitware/CMake/releases/download/v3.22.6/cmake-3.22.6-linux-x86_64.sh # 赋予执行权限 chmod +x cmake-3.22.6-linux-x86_64.sh # 执行安装脚本,指定安装路径为 /usr/local,跳过许可协议 sudo ./cmake-3.22.6-linux-x86_64.sh --prefix=/usr/local --skip-license # 刷新系统命令缓存(确保能识别新的 cmake 命令) hash -r cmake --version
cmake version 3.22.6 CMake suite maintained and supported by Kitware (kitware.com/cmake).

2.先安装 gflags再安装glog

sudo git clone https://github.com/gflags/gflags.git cd gflags/ sudo mkdir build && cd build sudo cmake .. -DGFLAGS_NAMESPACE=google -DCMAKE_CXX_FLAGS=-fPIC .. sudo make -j16 sudo make install

3. glog 安装0.4.0版本

因为我在编译GICI时出现了下面这种问题,

/usr/bin/ld: libgici.so: undefined reference to `google::base::CheckOpMessageBuilder::CheckOpMessageBuilder(char const*)'
/usr/bin/ld: libgici.so: undefined reference to `google::LogMessage::LogMessage(char const*, int, int)'/usr/bin/ld: libgici.so: undefined reference to `google::base::CheckOpMessageBuilder::~CheckOpMessageBuilder()'
/usr/bin/ld: libgici.so: undefined reference to `google::base::CheckOpMessageBuilder::ForVar2()'
/usr/bin/ld: libgici.so: undefined reference to `google::kLogSiteUninitialized'
/usr/bin/ld: libgici.so: undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int, google::CheckOpString const&)'
/usr/bin/ld: libgici.so: undefined reference to `google::InitVLOG3__(int**, int*, char const*, int)'
/usr/bin/ld: libgici.so: undefined reference to `google::base::CheckOpMessageBuilder::NewString[abi:cxx11]()'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/gici_main.dir/build.make:173: gici_main] Error 1
make[1]: *** [CMakeFiles/Makefile2:189: CMakeFiles/gici_main.dir/all] Error 2
make: *** [Makefile:91: all] Error 2

修改了cmakelist中 glog的路径为绝对路径也不行,于是重新安装了glog。但是安装过程中也没有任何问题。最后的最后安装了一个0.4.0版本,编译成功了................

# 进入你的常用源码目录(比如家目录) cd ~ # 下载 glog 0.4.0 wget https://github.com/google/glog/archive/refs/tags/v0.4.0.tar.gz # 解压 tar -xzvf v0.4.0.tar.gz # 进入源码目录 cd glog-0.4.0 # 创建并进入 build 目录 mkdir build && cd build # 配置 CMake (生成共享库) cmake .. # 编译 (使用4核加速) make -j4 # 安装到系统目录 (需要密码) sudo make install

然后删除之前的build ,重新编译gici 才成功

http://www.cnnetsun.cn/news/1381130.html

相关文章:

  • YOLO12教学演示实战:置信度滑块对漏检/误检影响的直观对比分析
  • 夯实管理基石:企业档案规范化管理实施指南
  • 万字拆解Infoseek舆情监测系统:基于大模型+多模态的分布式舆情中台架构实践
  • 从零开始学FOFA:手把手教你用搜索引擎语法发现网络漏洞
  • 学术论文写作助手:集成百川2-13B与LaTeX的智能撰写与润色方案
  • 74HC138与74HC151的奇妙组合:如何用它们设计全加器?
  • 锐捷交换机ZAM功能实测手记:当不支持Python的设备遇到ZTP会发生什么?
  • OBS多平台直播终极指南:obs-multi-rtmp插件完整教程与实战应用
  • 别再乱用饼图了!ECharts高级配色方案与业务场景匹配指南
  • Linux 命令精讲:csplit 按内容智能分割文件详解
  • 大疆 Osmo 360 深度评测:双 1 英寸传感器如何重塑 8K 全景拍摄体验?
  • 基于Transformer架构的FUTURE POLICE模型:原理详解与调优实践
  • Qwen-Image零基础上手:RTX4090D用户首次体验Qwen-VL图文对话的详细步骤
  • 旋转图像特征点匹配
  • 3步完成Mac系统升级:OpenCore Legacy Patcher终极指南
  • H3C 双线路 NQA 联动配置实战:智能切换与故障恢复
  • SMUDebugTool实战指南:掌握AMD Ryzen平台硬件调试与性能优化
  • 全志A40I Android7.1开机自启动避坑指南:从内核修改到广播接收全流程
  • 智能设备管理系统:从架构设计到高效运维实战
  • 基于 Docker Compose 一键部署 XXL-Job 调度中心实战
  • HandyControl中Button图标展示多色路径
  • STM32F103CBT6通过I2C接口高效读取LC709203F锂电池电量数据的实战指南
  • 告别Tkinter!用pywebview+HTML5打造Python桌面应用的3种实战姿势
  • 透视投影实战:用Python+OpenCV实现3D点云到2D图像的转换(附完整代码)
  • Ubuntu 22.04 上如何用 vLLM 加速 Qwen3 32B 模型推理(含 GPU 配置优化)
  • 彻底搞懂 UDP 网络编程:单播、广播与组播的原理与实战避坑指南
  • Windows下用scrcpy实现手机投屏:如何单独投声音或画面(附完整脚本)
  • 3个技术突破让百度网盘下载速度提升10倍:资源获取加速工具全攻略
  • AudioSeal快速上手:AudioSeal Web界面多语言切换(中/英/日/韩)配置方法
  • 深入AUTOSAR E2E状态机:Profile1的OK、ERROR、SYNC状态到底在说什么?一个例子讲清楚