2008年4月10日 星期四

Setup Eclipse CDT with Cygwin

本來在安裝 Eclipse、CDT、cygwin 後,要把 cygwin/bin 的路徑設到系統環境變數 Path 中,CDT 才能找得到 gcc。但是... 我就是不想動我的環境變數... 稍微試了一下,看有沒有辦法在不更動環境變數的形況下,正常使用CDT。結論是這個想法是可行的,但還是乖乖設定環境變數比較省事。

設定的方法如下:
  • 在 Toolbar 上點選 Window -> Preferences
  • 在 Preferences 對話窗中點選 C/C++ -> Environment,加入環境變數 Path, 其值為 cygwin/bin 的路徑

只要在此加入環境變數就可正常compile程式,但cygwin compile 出來的執行檔需要 cygwin1.dll 才能執行,所以雖然可以正常compile,但 Eclipse 的 console 無法正確執行compile好的程式。在不更動系統環境變數的前提下,最簡單的做法就是把 cygwin1.dll 複製到 系統 Path 或 Project 的工作目錄中,但再一次地,我就是不想複製檔案,所幸這仍然有解
  • Toolbar 上點選 Run -> Open Run Dialog
  • 在 Run 的對話窗中點選 C/C++ Local Application -> ProjectName.exe, 在右側點選 Environment分頁,一樣加入 Path 的環境變數。

做到這裡可以正常執行Build完的程式了,但還不能Debug...
不能Debug 的主因有二,一是 Eclipse找不到 gdb.exe 二是在 Debug 的過程中, Eclipse 再度找不到 cygwin1.dll (啊不是都已經設環境變數了嗎!? 吼~~)
  • 在 Toolbar 上點選 Run -> Open Debug Dialog
  • 在 Run 的對話窗中點選 C/C++ Local Application -> ProjectName.exe, 在右側點選 Debugger 分頁
  • 在 Debugger 分頁中設定 GDB debugger的位置:
    Drive:\PATH\TO\gdb.exe
  • 給定一GDB command file,並在 command file加入
    path /cygdrive/drive/path/to/cygwin/bin

這樣一來,就可以正常地Debug了...

雖然找到設定的方法,但我最後還是決定把 cygwin 加到系統 PATH 裡...做人還是不要太搞怪的好...

References:
Debugging with GDB

沒有留言: