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

Ubuntu16.04下Qt Creator与RViz启动失败问题求助

解决Ubuntu 16.04下QtCreator与ROS工具的Qt库路径冲突问题

我之前也碰到过第三方库乱改系统Qt路径的坑,你的情况根源很明确——安装FLIR Spinnaker库时,spinview_qt_.deb把Qt5.7直接装到了/usr/lib,打乱了系统默认的Qt5.5(来自官方仓库)和ROS Kinetic依赖的库路径优先级,导致QtCreator、rviz等工具找不到对应版本的Qt库。下面给你几个永久解决的方案:

方案1:单个用户永久配置(推荐,不影响其他用户)

这个方法只对你当前用户生效,操作简单:

  1. 打开用户主目录下的.bashrc配置文件:
    nano ~/.bashrc
    
  2. 在文件末尾添加以下内容,明确指定库加载的优先级,让系统优先搜索官方Qt库和ROS库:
    # 修复Spinnaker导致的Qt库路径冲突
    export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:/opt/ros/kinetic/lib:$LD_LIBRARY_PATH
    
  3. 保存并退出编辑器(按Ctrl+O回车确认保存,Ctrl+X退出),然后让配置立即生效:
    source ~/.bashrc
    
  4. 直接启动qtcreator和rviz测试,应该都能正常运行了。

方案2:全局系统配置(影响所有用户)

如果需要让所有用户都能正常使用这些工具,可以修改系统级的环境变量:

  1. 编辑系统环境变量文件:
    sudo nano /etc/environment
    
  2. 修改或添加LD_LIBRARY_PATH行,确保路径顺序正确:
    LD_LIBRARY_PATH="/usr/lib/x86_64-linux-gnu:/opt/ros/kinetic/lib:$LD_LIBRARY_PATH"
    
  3. 保存后重启系统,或者让所有用户重新登录,配置就会全局生效。

额外说明:兼顾Spinnaker工具的使用

如果之后需要运行Spinnaker的工具(比如spinview),可以临时指定它需要的Qt5.7路径,避免影响系统默认配置:

LD_LIBRARY_PATH=/usr/lib spinview

原理补充

LD_LIBRARY_PATH是Linux系统加载动态库的搜索路径,系统会按照路径的先后顺序查找库文件。我们把官方Qt库和ROS库的路径放在最前面,就能让系统优先加载正确版本的库,避开Spinnaker安装的Qt5.7干扰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:15:51