QT Creator 編譯 OpenCV (除了CMake其他什麼都不用)

來源:互聯網
上載者:User

我家裡也有一台電腦,不過這台電腦和公司的電腦分工非常明確,這台電腦是專用於打魔獸,上網聊天,看電影等事務。但是有時候手癢,就是想寫代碼,怎麼辦呢?是不是要裝個Visual Studio Express啥的?重量級的工具咱就不要裝了!我發現裝個QT Creator就很棒了。

 

但是,呵呵凡是都有個但是!最近在玩OpenCV(下載一個了OpenCV2.0.1),怎麼辦呢?

 

上網查了一下,基本上肯定編譯OpenCV是要用CMake,找到以便文章。原帖如下:

 

====微型分割線====

在Qt Creator中使用OpenCV庫 (Windows 7系統下編譯成功)

編譯OpenCV2.0

1  下載tdm-mingw-1.908.0-4.4.1-2並安裝,安裝完畢添加bin到系統路徑。

2   安裝Opencv2.0 windows版本

3   安裝CMake

4  開啟CMake,配置源碼與目標路徑,選擇MinGW Makefiles,產生目標Makefile

5   進入設定好的目標路徑,make,直至產生所有的庫

配置Qt Creator

Qt開發的程式一般需要藉助qmake產生makefile檔案。由於qmake在解析路徑的時候不能識別空格, 因此需要確保OpenCV的安裝路徑中不能包含空格(C:/Program Files/OpenCV是不行的)。

在建立工程檔案的時候(這裡假設為hello.pro,尾碼為pro),向工程中添加以下語句:

INCLUDEPATH +=  D:/Qt/OpenCV-2.0.0/include/opencv 
LIBS +=  D:/Qt/OpenCV-2.0.0/lib/libcv200.dll.a/
        D:/Qt/OpenCV-2.0.0/lib/libcxcore200.dll.a/
        D:/Qt/OpenCV-2.0.0/lib/libml200.dll.a/
        D:/Qt/OpenCV-2.0.0/lib/libcvaux200.dll.a/
        D:/Qt/OpenCV-2.0.0/lib/libhighgui200.dll.a 

這樣,在Qt中就可以使用Opencv 2.0 了

====微型分割線====

 

這帖基本上沒講怎麼編譯,只說怎麼用。真不靠譜啊!

我定神一看還需要tdm-mingw-1.908.0-4.4.1-2,大哥不能吧,要搞這麼複雜嗎?

當然不是,Qt Creator不是有個編譯器嗎?好,就用這個編譯器。除了CMake我可啥都不想下載了~~

 

開啟CMake,試一下,發現沒法完成configure!原因是CMAKE_MAKE_PROGRAM沒找到,這個簡單,修改該項為D:/Qt/2010.04/mingw/bin(您自個看著改)。

繼續Configure,什麼還出錯?彈出一大堆什麼dll找不到!!

好吧,我直接把D:/Qt/2010.04/mingw/bin放到環境變數中去。

Delete Catch以後再來一次,這下好了,連CMAKE_MAKE_PROGRAM都不用改了,自動找到。成功configure。

然後Generate一下。

 

在編譯的目錄下運行mingw-make32,編譯通過!!

 

這篇文章不是一個傻瓜教程!基本上需要你能夠瞭解CMake和mingw-make32才行!

 

一個個人記錄,僅此而已,但願也能幫到你!!

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.