Ubuntu下打开QtCreator,环境变量(PATH、LD_LIBRARY_PATH等)与预期不一致的问题

现象展示

在Ubuntu中,安装好Qt之后,可以在系统桌面的左下角找到启动图标
在这里插入图片描述但是,这种方式启动的QtCreator所读取到的环境变量和我们从命令行读取到的不一致:
在这里插入图片描述
可以看到,明显少了这个:/opt/ros/humble/bin
因为这个原因,导致我在用cmake编译时一直出问题。

解决办法

直到我用命令行打开QtCreator:
在这里插入图片描述好了,这下子一致了。
在这里插入图片描述

原因分析

原因据chatgpt说是:

在Ubuntu中,通过Application中直接点击QtCreator图标打开程序时,启动的是一个新的shell环境,这个环境中没有设置之前在~/.bashrc或者其他文件中配置的环境变量。而如果你使用命令行打开./qtcreator,它会在当前终端窗口下执行,此时终端中已经有了你之前所设置的环境变量。
因此,如果你需要使用某些环境变量,比如说LD_LIBRARY_PATH等,建议你在命令行模式下打开QtCreator,这样可以确保QtCreator环境与当前终端所使用的环境相同。

假如想点击后,也能得到用命令行打开的效果,它说可以:

是的,你可以在点击图标打开QtCreator时也加入额外的环境变量,来达到和在命令行下打开一样的效果。具体方法如下:
    打开终端,输入以下命令:
sudo gedit /usr/share/applications/qtcreator.desktop
    在文本编辑器中打开qtcreator.desktop文件。
    在[Desktop Entry]部分下方添加以下两行内容(如果已经存在则直接修改):
X-GNOME-UsesTerminal=true
Exec=bash -ic "/path/to/qtcreator/bin/qtcreator"
其中/path/to/qtcreator是你安装Qt Creator的路径。这里我们使用bash -ic命令让启动的应用程序沿用当前终端的环境变量。
    保存并退出编辑器。
    现在你可以从Application中再次点击Qt Creator图标打开程序,它将会以你当前终端所使用的环境变量启动。
请注意,修改/usr/share/applications/目录下的.desktop文件需要root权限,因此你需要输入管理员密码才能保存修改。

实际上,图标是存在这个位置:

/home/yong/.local/share/applications/org.qt-project.qtcreator.desktop

在这里插入图片描述

在这里插入图片描述
改完之后要重启一下电脑才行。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值