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

树莓派Qt项目构建报错:DSO missing from command line(QMake+libcamera)

解决树莓派Qt+libcamera编译DSO缺失问题

问题根源

DSO missing from command line 错误本质是链接阶段未明确指定依赖的动态库,libcamera主库依赖libcamera-base,仅链接主库会触发该错误。

解决方案

方案1:使用pkg-config(推荐,自动处理依赖链)

libcamera源码编译后会生成.pc配置文件,Qt通过pkg-config可自动获取所有编译/链接参数,无需手动梳理依赖:
在Qt项目的.pro文件中添加:

CONFIG += link_pkgconfig
PKGCONFIG += libcamera libcamera-base
  • 若libcamera安装在自定义路径(如/opt/libcamera),需先将其lib/pkgconfig目录加入环境变量:
    export PKG_CONFIG_PATH=/opt/libcamera/lib/pkgconfig:$PKG_CONFIG_PATH
    
    或直接在.pro中指定:
    PKG_CONFIG_PATH += /opt/libcamera/lib/pkgconfig
    CONFIG += link_pkgconfig
    PKGCONFIG += libcamera libcamera-base
    

方案2:手动指定库路径与依赖

若不想使用pkg-config,需明确指定头文件路径、库路径及所有依赖库:

# 替换为你的libcamera头文件实际路径
INCLUDEPATH += /usr/local/include/libcamera
# 替换为你的libcamera库文件实际路径
LIBS += -L/usr/local/lib -lcamera -lcamera-base
  • 注意:必须同时链接-lcamera和-lcamera-base,仅添加前者会导致DSO缺失错误。

额外验证步骤

  1. 检查库文件符号链接:
    进入libcamera库目录(如/usr/local/lib),确认存在libcamera-base.so软链接指向libcamera-base.so.0.0.4,若缺失则手动创建:
    sudo ln -s libcamera-base.so.0.0.4 libcamera-base.so
    
  2. 更新系统库缓存:
    sudo ldconfig
    
  3. 重新编译项目:
    qmake && make clean && make
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 07:07:39