不能在Raspbian(Debian)上用GENO或终端运行C++程序

不能在Raspbian(Debian)上用GENO或终端运行C++程序,c++,debian,raspberry-pi,raspbian,geany,C++,Debian,Raspberry Pi,Raspbian,Geany,我不太确定这是否是问这个问题的地方,如果需要,请转移到另一个Stack Exchange社区-如果可能的话 我正在用RasPIAN Debian,BTW学习我的树莓Pi上的C++,我用GeNide IDE创建了一个简单的Hello World程序。我编译、构建程序,然后运行它。但是,我得到一个错误: ./geany_run_script.sh: 5: ./geany_run_script.sh: ./HelloWorld: Permission denied ----------------

我不太确定这是否是问这个问题的地方,如果需要,请转移到另一个Stack Exchange社区-如果可能的话

我正在用RasPIAN Debian,BTW学习我的树莓Pi上的C++,我用GeNide IDE创建了一个简单的Hello World程序。我编译、构建程序,然后运行它。但是,我得到一个错误:

./geany_run_script.sh: 5: ./geany_run_script.sh: ./HelloWorld: Permission denied


------------------
(program exited with code: 126)
Press return to continue
compile命令是g++-c%f,build命令是g++-o%e%f。 如果您觉得有帮助,文件类型是.cxx


由于方便,我想使用Geany来运行。不幸的是,即使在使用chmod+x之后,我也不能以超级用户的身份在终端上运行它。

您的问题似乎与Geany IDE无关。所以您需要更改已执行文件的权限。请尝试以下命令:chmod 777您的_文件名要在Linux上运行文件,用户需要在用户或组上使用x。这看起来像 --x-x-x或POSIX文件系统上的hex 0111。因此,chmod+x应该适用于大多数使用EXT[2 | 3 | 4]或XFS的系统。所以你的开始是正确的。顺便说一句:当通过Geany编译C文件时,它已经被设置为可执行文件

正如你提到的,你的U盘是用FAT32格式化的,FAT32不支持POSIX,所以chmod不会起任何作用。但是,文件权限是有限的,例如,执行某项操作的权限基于用于装载的umask。在传统的Linux系统上,这可以在/etc/fstab中配置。使用udev或其他工具,也可以在其他地方将其配置为:根据需要,安装斗杆时使用的是什么

此外,mount还可以将设备设置为noexec,这对于U盘或未知CD/DVD等设备来说是个不错的主意。但是,如果在装载期间设置了此标志,则无法执行该设备上的文件-只允许读写。同样,这可以在/etc/fstab上设置,也可以在其他地方设置,具体取决于您可能另外使用的内容


要检查这一点,请在不带和参数的情况下运行mount命令。它会给你一个列表,你的USB设备应该包括在内

请显示HelloWorldFor me g++的文件权限始终向文件添加+x标志。你不是在使用fat或NTFS分区的USB驱动器吗?运行mount命令并检查当前目录所在设备的noexec标志。@Arpegius是的,我正在使用FAT32处理USB。我会尝试,以及在这种情况下,请也张贴什么挂载是说的USBdevice@frlan我也会这样做,但我不使用我的RPi ATM,我会告诉你我什么时候做了,谢谢,我也会尝试!