CodeBlocks編譯C++無法執行 - MAC

Table of Contents

※ 引述《waa (噓~)》之銘言:
: 各位好,
: 因為最近想自學C++,又不想浪費空間安裝Windows
: 因此上網爬文安裝了 Code::Blocks
: 本來以為很簡單的,誰知道困難重重
: 不斷的爬文以及Google卻也找不到答案
: 目前連最簡單的 "Hello, World" 都沒辦法顯示出來 >"<
: 從一開始只安裝 Code::Blocks
: 想編譯的時候結果一直出錯,
: 後來才發現是因為沒有安裝Complier的緣故
: 後來安裝XCdoe後在繼續於Code::Blocks "Build and run"
: 終端機終於跳出來了
: 但是卻顯示
: "Permission denied"
: 讓我十分沮喪 QQ
: 雖然上網爬文看人家說使用Xcode很好用
: 不過不知道為何他也一直顯示 "Build failure"
: 因此想請問高手,我該如何解決
: 一直都不能順利的跑出最簡單的結果
: >"< 真的好傷心呀

我先承認你的第一篇我沒有認真看 XD

因為我一直在注意推文中關於XCode和Visual Studio的爭論 -_-

我沒在用Code::Blocks

不過我想可能是以下的原因



你應該是利用File->New->Empty File的方式加入了一個Untitled檔


再裝了GCC之後(From XCode)

Build and Run會產生permission denied的原因如下:


AAAA.xxx會被C::B Build成檔名為AAAA的執行檔

如果你沒有加上附檔名,以Untitled這個檔來說就會預設被Build成Untitled檔

此時檔名會有衝突

自然就寫不進去,等於是編譯成功但是沒辦法寫入

至於那個Permission Denied怎麼來的

因為編譯成功之後他要去RUN

但是他RUN的不是編譯出來的檔而是你的原始碼

你的原始碼的預設權限是-rw-r--r--,你有沒有發現裡面沒有"x"

代表這個檔案無法被執行

你去執行他就會產生Permission Denied的錯誤訊息


解決方式很簡單:

1. 加上附檔名

2. 請養成先開Project在開檔案的習慣(recommended)

一來管理方便二來不會有你說的這種問題(執行檔會有專門的folder可以放)



另外,最近開始使用Xcode

真的覺得自己被VisualStudio + Visual Assist X給寵壞了..

用起來亂不順手的



--
import java.ptt.stationery.*;//推坑是一種無窮遞迴
public void static Pushdown(Victim newbie)
{
Victim[] newbies = SearchNewbieNearby(newbie);
for(Victim p:newbies) Pushdown(p);
}

--

All Comments

Cara avatarCara2011-05-09
不不, 你說的那個無法寫入的問題其實根本不會發生, 你試
Skylar DavisLinda avatarSkylar DavisLinda2011-05-14
試看就知道了, 我聽過好幾個 -o 位置放錯造成慘案的實例