文章目录
- 背景
- 解决办法
- 其他解决办法
背景
在linux下调试程序时,有时候需要取得root权限才能连接操作某些设备。
之前我是通过脚本方式 [在QtCreator中先执行自定义命令再执行程序]来进行的。也就是在脚本中取得权限,脚本内容类似这样:
echo "mypwd" | sudo -S -E LD_LIBRARY_PATH=$LD_LIBRARY:/home/yong/Desktop/two_axis/libIR/x86-linux_libs ./TemperatureMonitor
但是这样有个问题,无法断点调试,出了问题,不好找问题发生的地方。
但是假如你不采用脚本的方式,而是启动它默认的可执行程序+勾选Run as root user的话,它会出现error while loading shared libraries的问题。
哪怕你已经设置好环境变量LD_LIBRARY_PATH了。
解决办法
现在最新版的QtCreator 11.0.1,解决办法很简单。把Run in terminal也勾选上就行。
然后在控制台里面输入你的密码就行。
其他解决办法
旧版的QtCreator,只能看能不能更改操作对象的权限,让非root用户也可以操作。比如执行chmod啥的。