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

…(完)

No comments:

Post a Comment