Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
以root用户身份在Qt Creator中执行项目_Qt_Cmake_Root_Sudo - Fatal编程技术网

以root用户身份在Qt Creator中执行项目

以root用户身份在Qt Creator中执行项目,qt,cmake,root,sudo,Qt,Cmake,Root,Sudo,我有一个现有的cmake项目,我正在与qtcreator合作。它已成功生成,但生成的可执行文件必须以root用户身份运行,因为它需要连接到eth0接口 我无法添加这些“自定义构建设置”(已禁用),如果我尝试 ssh-askpass Sudo Password | sudo -S bash /to/my/executable/file 我有一个 cannot execute binary file 错误。 我不想以root身份运行qtcreator。是否有可能在运行可执行文件时请求根密码。我对

我有一个现有的cmake项目,我正在与qtcreator合作。它已成功生成,但生成的可执行文件必须以root用户身份运行,因为它需要连接到eth0接口

我无法添加这些“自定义构建设置”(已禁用),如果我尝试

ssh-askpass Sudo Password | sudo -S bash /to/my/executable/file
我有一个

cannot execute binary file
错误。 我不想以root身份运行qtcreator。是否有可能在运行可执行文件时请求根密码。我对cmake和qtcreator还很陌生

我非常感谢你的帮助


塔克斯

只需在与可执行文件相同的位置创建一行文件:

launcher.sh的内容:

不要忘记使用chmod:

sudo chmod a+x launcher.sh // Yeah it's dirty I know!
然后,正常启动QtCreator,打开项目,转到设置并创建新的运行配置。可执行文件应该是launcher.sh文件。
勾选复选框“运行终端”

我怀疑Qt Creator是否能正确处理管道。它的设计目的是执行二进制文件,而不是通过命令解释器(如bash)传递命令。尝试编辑sudoers以允许在没有密码的情况下执行命令。之后,您将能够使用sudo运行程序,而无需ssh askpass。无论如何,这比在项目配置中写入sudo密码要好。谢谢…sudo mycommand在没有密码的情况下工作…但是现在我有一个愚蠢的问题…我在哪里输入这个命令的“sudo”?我想通过按下“播放”按钮从qtcreator中启动可执行文件。有可能吗?…请说是的!;)在项目运行设置中,将
/usr/bin/sudo
设置为可执行文件,将命令的其余部分设置为参数。
sudo chmod a+x launcher.sh // Yeah it's dirty I know!