You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PopOS系统下cmake编译项目时ld无法找到lXrandr等依赖库如何解决

问题解决方案

问题根源

  • 你找到的/usr/bin/xrandr是工具的可执行文件,编译链接阶段需要的是对应库的开发文件,Debian系系统会把运行时库和开发头文件/链接文件分开打包,你目前缺少这三个依赖对应的开发包
  • 直接用sudo执行cmake和编译操作会导致生成的构建文件权限异常,后续会触发更多非代码类问题,不要这么操作
  • 你自行源码编译安装的cmake没有经过dpkg包管理器注册,所以dpkg -l cmake查询不到记录是正常现象,不影响正常使用

解决步骤

  1. 先清理之前用sudo生成的存在权限问题的build目录,退回项目源码根目录执行:
sudo rm -rf build
mkdir build
cd build
  1. 安装缺失的依赖开发包,PopOS基于Ubuntu软件源,直接执行如下命令安装即可:
sudo apt update
sudo apt install libxrandr-dev libxinerama-dev libfontconfig1-dev
  1. 重新执行编译安装流程,cmake和编译步骤不要加sudo,只有最终安装到系统目录的步骤需要加sudo:
cmake ..
cmake --build . --config Release
sudo cmake --install .

注:如果项目不需要安装到系统全局路径,最后一步可以不用加sudo,自行指定本地安装路径即可

补充说明

你之前调整LD_LIBRARY_PATH无效是因为该变量是程序运行时动态加载器找运行时库用的,编译链接阶段ld查找库不依赖该变量,遇到同类cannot find -lxxx报错时,直接安装xxx对应的开发包即可解决。

内容的提问来源于stack exchange,提问作者geekygekko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 00:06:03