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

关于liblvgl.so文件其实已经存在于当前目录下(可以看到ls命令列出了该文件),但程序仍然找不到它的原因及其解决方法:

这是因为 Linux 系统默认不会在当前目录搜索共享库。解决方法如下:

这样既符合 Linux 的文件系统规范,又能保证系统能稳定找到该库文件。

  1. 临时解决(当前终端有效)

    # 将当前目录添加到共享库搜索路径
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.# 再次运行程序
    ./demo
    
  2. 永久解决方法
    如果需要长期运行这个程序,可以将当前目录添加到系统的库搜索路径:

    # 假设当前目录是/root(根据实际情况修改)
    echo "$PWD" >> /etc/ld.so.conf.d/lvgl.conf
    ldconfig  # 更新库缓存# 之后就可以直接运行
    ./demo
    
  3. 另一种简单方式
    运行程序时直接指定库路径:

    LD_LIBRARY_PATH=. ./demo
    


    在 Linux 系统中,共享库(.so 文件)通常遵循标准的目录布局,常见的存放位置如下:

  4. 系统级库目录(适用于所有用户):

    • /lib:存放系统启动和基本运行所需的核心共享库
    • /lib64:64 位系统的核心共享库(部分系统使用)
    • /usr/lib:用户级的标准共享库
    • /usr/lib64:64 位系统的用户级标准共享库
    • /usr/local/lib:本地编译安装的共享库(推荐使用)
  5. 应用程序专属目录

    • 很多程序会将自己的库文件放在 /opt/应用名/lib 目录下
    • 或者程序安装目录下的 lib 子目录(如 /usr/local/your_app/lib
  6. 自定义目录
    如果是自己开发的库,除了上述目录,也可以放在 /usr/lib/lvgl 这类专用子目录中,然后通过配置 /etc/ld.so.conf.d/ 下的配置文件让系统识别。

http://www.dtcms.com/a/283038.html

相关文章:

  • 多商户二手车小程序系统源码,多端适配,带完整的搭建部署教程
  • C# 按照主题的订阅 按照类型的订阅
  • 人工智能与机器人研究|深孔内表面缺陷特征内窥测量方法研究
  • 智能呼叫中心系统:重构客户服务的核心引擎
  • 浅谈车载电控和机器人一体化关节电控区别和联系
  • 【Arm】Fusa Compiler 6.16LTS的安全认证报告获取
  • Openharmony XTS编译运行
  • 2025年Java最新社招面试八股文+技术场景题(金九银十)
  • Linux内核设计与实现 - 第2章 内核开发的准备
  • git的diff命令、Config和.gitignore文件
  • 《机器学习数学基础》补充资料:标准差与标准化
  • Ceph集群OSD崩溃恢复
  • 量子比特耦合与系统集成:量子计算硬件的核心突破
  • 离线部署三节点 Ceph 分布式存储
  • 访问者设计模式
  • Elasticsearch+Logstash+Kibana部署
  • java解析word文档
  • windows内核研究(进程与线程-等待链表和调度链表和线程切换)
  • Excel 导入导出工具类文档
  • ubuntu中拷贝docker容器中的文件到宿主机
  • 万字长文解析 OneCode3.0 AI创新设计
  • 微服务的编程测评系统2
  • 2025年量化交易平台对比:付费与开源方案深度分析
  • nerdctl - 兼容 Docker 语法 的 containerd 命令行界面
  • 17.图像金字塔采样(放大,缩小处理)拉普拉斯金字塔
  • 闰年的历史由来与C语言实现详解
  • 7.16 拓扑排序 | 欧拉回路 |链表排序 前缀和
  • Vue在线预览Excel和Docx格式文件
  • Redis学习其一
  • Python学习之路(十三)-常用函数的使用,及优化