简单的hello world in c ++使用eclipse获取错误bin bash权限被拒绝

时间:2012-05-24 16:27:06

标签: c++ eclipse compilation

我正在开发一个用c ++编程的项目,不要问为什么,我必须在linux上工作。

我安装了eclipse 3.7.2,我假设最新的版本是最新的。

在我的无知中,当我意识到我甚至无法编译时,我开始研究这个项目。所以我从一个简单的问候世界开始,看看它是什么。创建新项目,完成,新源文件cpp,完成,编写hello world,完成。

#include <iostream>

using namespace std;

int main() {

cout << "hello world :( ....." << endl;
return 0;

}

这是代码。然而,当我在编译后运行它时,我得到了这个错误:

/bin/bash: /media/....../myprojectname: Permission denied
/bin/bash: line 0: exec: /media/....../myprojectname/Debug/myprojectname: cannot execute: Permission denied

我已经对此进行了研究,但我并没有真正的经验,更像是大学知识,但我读到的关于它的所有线程建议尝试用makefile编译(我对它一无所知,eclipse是在那里为它而且,尽管如此,这并没有修复它,因为我读到了。

我在eclipse for windows上从未遇到过这样的问题,这是我第一次试用linux。对于我也读过的内容,它似乎与linux权限有关......但是再次不是我最大的优势。

我想我的问题是,如何使用c ++编写一个简单的hello世界并使用eclipse作为编辑器,然后让程序运行。

提前致谢!

2 个答案:

答案 0 :(得分:4)

该文件系统可能mount(8) - 带有noexec选项,因此无论您在可执行文件上设置了哪些权限位,都无法运行它。

答案 1 :(得分:0)

嗨,我有同样的问题,但在我的情况下,我正在安装带有Windows的ubuntu。

我的问题是包含eclipse工作区的驱动器给了我一个权限被拒绝的消息。

这是因为它是一个NTFS驱动器。

我通过将其转换为ext3来解决它......之后,如果你愿意,可以将它从ext3转换为ext4。

步骤:

  1. 检查驱动器的完整特定名称:

    # sudo blkid

    /dev/sd7 mydrive 105GB

  2. 更改文件系统&amp; drive的标签:

    # mkfs.ext3 -L mydrive /dev/sdaX(使用-L表示卷标)

  3. [可选]使用tune2fs将其转换为ext4。

  4. 我希望有帮助:)