2012-01-13 85 views
0

我想使用Eclipse CDT(版本:Indigo Service Release 1 Build id:20110916-0149)在RHEL6 64位Linux中構建和調試我的c/C++項目,有問題。我已經完成了我認爲有必要使用備用工具鏈來執行編譯,但似乎缺少某些東西,因爲eclipse說它編譯了源代碼,但它並沒有真正做到。使用Eclipse CDT替換工具鏈時編譯故障

對於設置我去了C/C++項目屬性 - > C/C++構建配置「調試」配置,在「Builder設置」選項卡上我取消選中「使用默認構建命令」複選框,並輸入名稱我的工具鏈「mk all」加入到「Build command」字段中。然後我取消選中「自動生成Makefile」複選框。接下來,我將「Build Directory」字段更改爲「」。最後,我進入「行爲」選項卡並取消選中「Build on resource save(Auto build)」複選框,並將「make build target」更改爲「all $ {selected_resource_loc}」。

現在,當我去我的項目,並選擇需要建立一個子目錄,然後單擊構建工具欄按鈕此上是發生了什麼:

1)我看到了「建設項目......」在進度窗口短暫

2)CDT建立控制檯顯示此:

**** Build of configuration Debug for project myproj **** 

mk all 

**** Build Finished **** 

以上是我看到的時候我的代碼需要重建,並不需要重建,而當有編譯錯誤。我可以通過打開一個bash終端並在我想要創建的目錄中輸入「mk」來驗證。當我從終端進行編譯時,我可以看到編譯器輸出(成功和錯誤等),但是Eclipse沒有顯示出任何類型。

我一定錯過了一些東西,但我不確定是什麼。有沒有人有任何想法,我做錯了什麼?

--update--

我發現了什麼我的問題的一部分是,這竟然是我的構建工具是通過bash腳本調用,而不在頂部的家當。

我的下一個問題是始終從項目的根目錄調用構建,該項目沒有makefile。我曾嘗試將「$ {selected_resource_loc}」變量放入「make build target」字段中,但它似乎沒有正確的效果,因爲我的「mk all」命令似乎是在變量被轉換爲每次都是空字符串。有關這方面問題的任何想法?

回答

0

'DEAR PEOPLE FROM THE FUTURE: Here's what we've figured out so far ...'

我八九不離十解決了我的問題。我曾經請一位有類似設置的朋友來嘗試一下,他在第一次嘗試時就開始工作。然後我得出結論,這是我的安裝或我的項目。因此,我開始刪除項目文件(.project和.cproject)並重新創建項目。完成之後,它似乎像魅力一樣工作。我必須選擇一個模糊不兼容的項目選項,導致某些內容不能展開$ {selected_resource_loc}變量。奇怪的。我希望這可以幫助一路上的人。