Ubuntu 22下OMNeT++指定Qt5.15路径及安装问题
OMNeT++ 6.0.1运行时Qt版本错误解决
错误信息
/home/dice/Mohsan_Simulatiom_directory_C2JN_project/softwares_/omnetPP_distribution/omnetpp-6.0.1/samples/microservicesapiplacement_6_22_2023/src/microservicesapiplacement_6_22_2023: /lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.15' not found (required by /home/dice/Mohsan_Simulatiom_directory_C2JN_project/softwares_/omnetPP_distribution/omnetpp-6.0.1/lib/liboppqtenv.so)
已知背景:
- 应用通过Clang编译成功,仅执行阶段报错
- Eclipse(OMNeT++集成IDE)默认从
/lib/x86_64-linux-gnu路径查找Qt库 - 系统全局Qt版本为5.12.8,Anaconda路径
/home/anaconda3/lib下已安装Qt5.15.2,执行qmake --version返回:
QMake version 3.1
Using Qt version 5.15.2 in /home/anaconda3/lib
问题1:让OMNeT++强制使用Anaconda路径下的Qt5.15
临时生效(仅当前终端会话)
启动OMNeT++或Eclipse前,执行以下命令修改动态链接库优先级:
export LD_LIBRARY_PATH=/home/anaconda3/lib:$LD_LIBRARY_PATH
执行后直接在该终端启动OMNeT++/Eclipse,程序会优先加载Anaconda下的Qt5.15库。
永久生效(所有终端会话)
- 编辑用户主目录的
.bashrc配置文件:
nano ~/.bashrc
- 在文件末尾添加以下内容:
export LD_LIBRARY_PATH=/home/anaconda3/lib:$LD_LIBRARY_PATH
- 保存退出后,执行命令使配置立即生效:
source ~/.bashrc
- 重启Eclipse或OMNeT++即可默认使用Anaconda的Qt库。
Eclipse单独配置(全局配置无效时用)
- 打开Eclipse,找到目标OMNeT++项目,右键选择「Run As」→「Run Configurations」
- 切换到「Environment」标签页,点击「New」按钮
- 添加环境变量:
- Name:
LD_LIBRARY_PATH - Value:
/home/anaconda3/lib:$LD_LIBRARY_PATH
- Name:
- 点击「Apply」保存,后续运行项目将优先使用指定路径的Qt库。
问题2:在/lib/x86_64-linux-gnu路径下安装Qt5.15
方法1:Qt官方安装包安装
- 下载Qt5.15.2的Linux x64离线安装包
- 赋予安装包执行权限:
chmod +x qt-opensource-linux-x64-5.15.2.run
- 以root权限运行安装包(需指定系统可访问的安装路径):
sudo ./qt-opensource-linux-x64-5.15.2.run
- 将Qt5.15的库文件复制到系统路径:
sudo cp -r /path/to/qt5.15/lib/* /lib/x86_64-linux-gnu/
- 更新系统库缓存:
sudo ldconfig
方法2:PPA源安装(适用于Ubuntu/Debian系)
- 添加Qt5.15的PPA源:
sudo add-apt-repository ppa:beineri/opt-qt-5.15.2-focal sudo apt update
- 安装Qt5.15核心库:
sudo apt install qt515base
- 创建系统路径的软链接:
sudo ln -s /opt/qt515/lib/libQt5Core.so.5.15.2 /lib/x86_64-linux-gnu/libQt5Core.so.5.15.2 sudo ln -s /lib/x86_64-linux-gnu/libQt5Core.so.5.15.2 /lib/x86_64-linux-gnu/libQt5Core.so.5
- 更新系统库缓存:
sudo ldconfig
注意:替换系统路径的Qt库可能影响依赖旧版本Qt的程序,操作前建议备份原有文件:
sudo cp /lib/x86_64-linux-gnu/libQt5Core.so.5 /lib/x86_64-linux-gnu/libQt5Core.so.5.bak
内容的提问来源于stack exchange,提问作者Mohsan
相关产品推荐
相关产品推荐

