现在的位置: 首页 > 综合 > 正文

ubuntu 系统中codeblocks 设置问题——解决编译找不到编译器路径,运行时出现permission denied情况

2013年10月12日 ⁄ 综合 ⁄ 共 2051字 ⁄ 字号 评论关闭

笨猪今天抽风,又玩起来codeblocks  ,这是自打长期使用ubuntu系统以来第一次使用codeblocks写程序。理所当然的在ubuntu的软件中心里下载了codeblocks 10.05 ,然后创建CPP文件,编译之,运行之~

不对,编译器没找到?好像是写道 "filename - Release" uses an invalid compiler. Probably the toolchain path within the compiler options is not setup correctly?! Skipping...
Nothing to be done.
这个是编译器没找到,不过编译器我之前肯定装过了,因为可以在终端里,gcc -g aaa.c ,好使。那就是编译器路径问题了,于是乎,我在网上一顿找gcc安装时候的默认路径,楞是没找到,(可能是没细心),最后,发现了一个超简单方法:

setting-> complier and debugger -> Toolchain excutable 目录选择文件系统,然后点击aotodetect。或者直接在地址栏输入 /usr。然后,problem solved~!

编译通过了那就接着运行呗,问题又来了,在弹出的终端里出现了错误信息:

“sh: PATHWAY: Permission denied”

在中文网上又一顿查,没发现能解决问题的答案(恕鄙人眼拙),于是用英文在谷歌,嗯,是谷歌不是百度,这么一搜,找到了能解决问题的网站:

http://www.thestudentroom.co.uk/showthread.php?t=1737736

如果你能看懂的话,就直接看以上网页即可,说的比我下面要写的清楚,如果你英语还没我这菜鸟好的话= =,那就允许我狗尾续貂吧:

首先,你可以用一个笨办法解决,就是创立工程文件时候,在你的主文件家(home文件夹)创立,这样应该是好使的,至少我的是。在其他硬盘中建立可能就不好使了。

roblee 解释这个问题,说这是因为系统默认我们的/media 下硬盘不允许程序运行,比如你的D 盘啦,E 盘啦之类的。这些非主文件夹的硬盘区域没有权限去运行程序,因此,permission denied 。

roblee解决这个问题的方法就是修改你的系统文件,给你的其他硬盘加上运行程序的权限,如下操作:

sudo gedit /etc/fatab

之后,会弹出一个fatab file 窗口

here's my fstab file:

================================ ====================
# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc nodev,exec,nosuid 0 0
# / was on /dev/sda7 during installation
UUID=d8f6a88b-eb03-4b99-b7dc-aba705ec2386 / ext4 errors=remount-ro 0 1
# swap was on /dev/sda5 during installation
UUID=096b0bd4-d76e-4577-871c-46337844aedd none swap sw 0 0
# swap was on /dev/sda6 during installation
UUID=83990115-e7cf-4088-8465-240fe9b82213 none swap sw 0 0
# swap was on /dev/sda8 during installation
UUID=b6049af8-4788-4c7d-8be4-c9e0174c8876 none swap sw 0 0
================================ ====================

比如,我想在Data盘里加上运行程序的权限,那么

sudo mkdir /media/Data

再次打开fstab file

sudo gedit /etc/fatab

新添加上一行:

/dev/sda3 /media/Data ntfs user,exec 0 1

其中的/dev/sda3 是我Data盘的设备名(可以在磁盘管理中查看你硬盘的设置名)

设置之后,重启系统,然后就可以了,但是,你的硬盘可能不会出现在桌面上了,可以进行一下简单的设置。
这个操作本人未验证,据提问者实验是有效的。你也可以试一试,或者干脆和我一样,在ubuntu系统放弃使用codeblocks。


抱歉!评论已关闭.