0

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

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

在我的无知中,当我意识到我什至无法编译时,我开始着手这个项目。所以我从一个简单的 hello world 开始,看看发生了什么。创建新项目,完成,新源文件 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 world 并用作编辑器 eclipse,然后让程序运行。

提前致谢!

4

2 回答 2

4

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

于 2012-05-24T16:49:08.337 回答
0

Hi, I had the same problem, but in my case I was installing ubuntu with windows.

My problem was that the drive which contained the workspace for eclipse gave me a permission denied message.

This was because it was an NTFS drive.

I solved it by converting it into ext3 ... and later, if you want, it's possible to convert it from ext3 to ext4.

The steps:

  1. Check what's the complete specific name of the drive:

    # sudo blkid

    /dev/sd7 mydrive 105GB

  2. change the FileSystem & drive's label:

    # mkfs.ext3 -L mydrive /dev/sdaX (use -L for volume label)

  3. [Optional] Convert it to ext4 using tune2fs.

I hope that helps :)

于 2013-11-05T20:55:08.163 回答