Qt程序运行报错
报错内容
PC环境为Ubuntu20.04
,Qt版本是Qt5.12.9
,AsensingViewer
是编译好的程序
./AsensingViewer: error while loading shared libraries: libicudata.so.56: cannot open shared object file: No such file or directory
问题分析
查看程序依赖
ldd AsensingViewer
注意到有个库not found
libicudata.so.56 => not found
cmake配置
link_directories("/opt/Qt5.12.9/5.12.9/gcc_64/lib")
但问题依旧,于是乎设置环境变量,./AsensingViewer
成功
export LD_LIBRAR_PATH="/opt/Qt5.12.9/5.12.9/gcc_64/lib"
问题解决,但怎么实现一劳永逸?在家目录.bashrc
文件末尾加入一行代码
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"/opt/Qt5.12.9/5.12.9/gcc_64/lib"
注意事项
设置了.bashrc
环境变量会导致qtcreator
运行报错然后崩溃
(qtcreator:3781): GLib-CRITICAL **: 19:42:15.563: g_hash_table_contains: assertion 'hash_table != NULL' failed (qtcreator:3781): GLib-CRITICAL **: 19:42:15.563: g_hash_table_insert_internal: assertion 'hash_table != NULL' failed Segmentation fault (core dumped)
运行前记得刷新一下LD_LIBRARY_PATH
,让qtcreator自己找依赖
export LD_LIBRARY_PATH="" /opt/Qt5.12.9/Tools/QtCreator/bin/qtcreator
或者直接在.bashrc文件加入以下内容,然后两种变量设置就可以完美共存
alias qtcreator='export LD_LIBRARY_PATH="" && /opt/Qt5.12.9/Tools/QtCreator/bin/qtcreator'
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)