Fork me on GitHub

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)安裝與環境配置

… (完)