1/18/2011
Install OpenCV 2.2 on the Eclipse IDE
之前只需要直接下載跟 visual studio 整合的安裝包,然後把 Eclipse project 設定好 (include, lib 路徑) 就可以使用了,但是 2.2 好像沒辦法:
「"OpenCV-2.2.0-win32-vs2010.exe" does not contain binaries for MinGW so they need to be built from the contents in "OpenCV-2.2.0-win.zip".」
以上這段話截自這裡,因為我的 Eclipse 採用 MinGW 為 compiler,所以就得自己重新 build 那些需要的 lib 和 dll 了。殘念的是,我利用之前到 MinGW Distro 下載的 MinGW,按照這裡的流程 ,compile 是成功了,但是程式一跑就會當掉。
萬念俱灰之際,想說網頁上使用的是 CodeBlock 自帶的 MinGW,索性就下載了 CodeBlock,使用他自帶的 MinGW 重新 compile 一遍,然後再給 Eclipse project 使用,神奇的居然就 work 了,不知道是否為 MinGW 的問題。
Anyway, use the compiling result of MinGW equipped in CodeBlock will work in Eclipse!
...
12/03/2010
OpenCV, Qt 開發 by Eclipse IDE
前提:已經完成 Windows 下 Eclipse IDE for C/C++ Developers (Helios SR 1) 安裝與環境配置
I. OpenCV
1. 安裝 OpenCV
Windows 系統下,直接傻瓜安裝 OpenCV 2.1.0 with Visual Studio 2008,按照網頁上的安裝指示,記得安裝過程要勾選 "Add OpenCV to the system PATH for all users"。
Mac 系統下,用 MacPorts 安裝最為簡便,完成後 OpenCV 會散佈在 /opt/local/bin、/opt/local/include 和 /opt/local/lib 當中。
2. Eclipse 專案設定
接著就是要將這些裝好的 dll, lib, header 連結到 openCV 的專案當中。
Windows 下:在 Eclipse 內設定專案屬性,這邊要設定的有兩項 include 和 lib。include 在 GCC C++ Compiler 中的 includes 下設定 (選擇 All configuration 都指定到你安裝 opencv 位置下的 include 資料夾);lib 在 MinGW C++ Linker 中的 Libraries 中設定 (Debug 用 cv210d, cxcore210d, highgui210d, Release 則用 cv210, cxcore210, highgui210)。
Mac 下:和 Windows 大同小異,Linker 換成 MacOS X C++ Linker,include 和 lib 檔案要到 opt/local 當中去找一下,由於 library 是動態連結庫 (檔名會像 libcv2.1.0.dylib 這樣),注意要將頭尾去掉,輸入 cv2.1.0 即可。
II Qt4
Windows 下:
1. 安裝 Qt Library (qt-win-opensource-4.7.1-mingw.exe)
安裝過程當中可能會針對 MinGW 當中的 w32api.h 提出一點警告,不需理會按 Yes 即可。
2. 安裝 Qt Eclipse Integration (qt-eclipse-integration-win32-1.6.1.exe)
安裝過程當中會需要你輸入你 Qt Library 的安裝路徑 和 MinGW 的安裝路徑 (例:C:\Qt\4.7.1\bin,C:\MinGW\bin)
3. 如果像要在 Qt 的程式碼當中使用 debug 功能,則需執行此步驟。
完成第一步驟之後,在程式選單當中執行 Qt 4.7.1 (Build Debug Libraries),會問一些問題,依序輸入 'enter’ –> 'o' –> 'y'。附註:這個步驟耗時很久,可以去睡一覺,大概 2 小時左右。
4. 啟動 Eclipse,設定 Qt
進入選單 Windows –> Preferences –> Qt 把那些欄位填一填,例下。
Version Name 4.7.1
Bin Path C:\Qt\4.7.1\bin
Include Path C:\Qt\4.7.0\include
5. 第一次 build 專案的時候,選擇 db/mi,然後就可以 Run 看看啦。
6. 咦!執行的時候怎麼沒有看到任何視窗跳出來呢,就算是開了一個空的 QtWidget 專案好歹也會跳出一個視窗吧!怎麼就只有在 Console 裡面寫 <terminate> 呢!直接去資料夾點他 build 好的執行檔,也跑出錯誤視窗 "無法找到程序輸入點" @@。
上網搜尋了一下,原來可能是系統路徑當中可能存在衝突的 Qt lib,這時候可以用 Dependency Walker 這個軟體來查看一下 .exe 當需要哪些 .dll。
使用方式很簡單,把你要檢查的 .exe 檔拖曳到 dependency walker 視窗當中,他就會告訴你這個 .exe 檔案跟其他檔案的相依關係。
如下圖結果,看到可疑的 QtCored4.dll 和 QtGuid4.dll,後來系統搜尋了一下才發現,我的 system32 路徑下已經有一個 QtGuid4.dll 了。所以,只要把 C:/Qt/4.7.1/bin 下面的 QtGuid4.dll 複製到執行檔同一個資料夾下,就可以順利跑出視窗囉 :P
Mac 下:乖乖用 Xcode 就好了 :P
…(完)
12/02/2010
Eclipse 使用技巧筆記 - tips
1. Auto-Completion (自動完成)
Eclipse 當中也可如同 VS 一般有自動完成 (auto completion) 的功能,預設來說在安裝完成後,針對物件或指標內的成員存取都會有自動彈出列表讓你選擇的功能 (如下圖)。
這個功能可以在 Windows –> Preferences –> C/C++ –> Editor –> Content Assist 選項當中設置,一般預設是勾選的,你可以將 delay 的時間調成 0,讓他彈出來快一些!
此外針對一般的變數也可以利用預設的 Alt + / 跳出提示選單,你可以透過更改 key binding 設定來修改這個快速鍵 (雙擊 Shift + Ctrl + L 會跳出 key binding 設定視窗)。
2. Hover to view source (鼠標檢視原始碼)
如下圖,Eclipse 還有一個方便的功能,讓你不需要 go to definition 就可以看到某個函數內部的程式碼。按住 Shift 然後將滑鼠移到 setCounter() 函數上頭,就可以看到其內部的程式碼。當然 "Shift" 這個鍵可以修改。
可以在 Windows –> Preferences –> C/C++ –> Editor –> Hovers 當中設定 (如下圖)。或者你也可以利用 F3 (快速跳到函數定義處) 和 Alt + <- (返回),交叉切換檢視函數定義,不過有了 hover view source 會方便一些。
附註:可否修改彈出 source 視窗的背景顏色呢,答案是可以的 (Windows –> Preferences –> C/C++ –> Editor –> 右邊欄位中的 Source hover background 即可設定)
…(持續補充)
Windows 下 Eclipse IDE for C/C++ Developers (Helios SR 1) 安裝與環境配置
1. 安裝 Java Runtiome Environment (JRE)。
2. 下載 Eclipse IDE for C/C++ Developers, 撰文時最新版本為 Helios Service Release 1。基本上只是一個壓縮檔,解壓縮就可以跑了。
3. 安裝 MinGW (為 Eclipse 提供 GCC, G++編譯器), 撰文時最新版本 mingw-6.8.exe 可以到 http://nuwen.net/mingw.html 下載,照網頁說明安裝即可 (記得要將 ~/MinGW/bin 路徑加到系統環境變數 Path 當中)。
4. 安裝 gdb (因為 MinGW 並沒有提供 gdb 供除錯,需要我們自己下載),撰文時最新版本為 7.2 可以到 http://www.equation.com/servlet/equation.cmd?fa=gdb 下載,或是 http://sourceforge.net/projects/mingw/files/MinGW/BaseSystem/GDB/ 。下載後將 gdb.exe 放置到對應的路徑 (我將 MinGW 安裝在 C://MinGW 所以就將 gdb.exe 放到 C://MinGW/bin 底下)
完成上述安裝之後就可以啟動 Eclipse,一開始會要你選定一個 workspace,隨意指定一個你喜歡的路徑即可。然後把歡迎視窗關掉,建立一個新的 C++ 專案。
選個 Hello World C++ Project 來測試看看吧!
點一下 Run 按鈕,成功在 console 視窗中出現 !!!Hello World!!! 啦!也可以設個中斷點看看 gdb 是否運作正常 (點擊那個小蟲 (Debug) 按鈕)…
需要比較不傷眼睛的 theme 可以參考這個網址:http://blog.edwards-research.com/2009/11/color-schemes-for-eclipse-cdt-3/。 將下載來的 theme 檔案(例: org.eclipse.ui.editors.prefs, org.eclipse.cdt.ui.prefs) 覆蓋 or 貼上至 [workspace]\.metadata\.plugins\org.eclipse.core.runtime\.settings\ 路徑底下即可。
參考資料:
跳躍的海豚: Eclipse IDE for C/C++ Developers (3.6 Helios)安裝與環境配置
… (完)
11/21/2010
讓 vim 的 class 和 function 也有語法高亮度 (syntax highlight)
2. 在 c.vim 當中加入
" Highlight Class and Function names
syn match cCustomParen "(" contains=cParen
syn match cCustomFunc "\w\+\s*(" contains=cCustomParen
syn match cCustomScope "::"
syn match cCustomClass "\w\+\s*::" contains=cCustomScope
hi cCustomFunc guifg=yellowgreen
hi cCustomClass guifg=#00FF00
3. 重新啟動 vim
參考資料:
1. class & function names highlighting in Vim - Stack Overflow
...
幫 vim 加上 NERDtree 檔案系統瀏覽功能
1. 下載 NERDTree
2. 解壓縮至 ~/.vim 資料夾當中,將對應的檔案放到對應的資料夾底下,沒有該資料夾則自行創建
3. 重新啟動 vim
一些使用的技巧如下:
1. 使用 :NERDTreeToggle 開啟/關閉 NERDTree 視窗,也可以設定對應的快速鍵來達成
map
2. 用 Ctrl + ww 來切換 NERDTree 和原始碼視窗
3. 在 NERDTree 當中用 t 使用新分頁開啟檔案並跳轉過去,使用 T 新分頁開啟檔案但不跳轉過去
其他:
Press i to open the file in a new horizontal split.
Press s to open the file in a new vertical split.
Press p to go to parent directory.
Press r to refresh the current directory.
參考資料:
Command Center: Vim Plugins You Should Know About: NERDTree
...