2013-02-14 64 views
-2

我在這裏是新的,我一直在嘗試在我的代碼塊IDE上設置OpenCV。我不知道什麼是錯的。我使用的是Windows 7,64位系統和代碼塊,我也下載了2-4.3版本的OpenCV。OpenCV問題。

我試圖按照手冊intsructions here,但這是沒有幫助的:http://opencv.willowgarage.com/wiki/CodeBlocks

即使我嘗試使用的代碼塊我也試過: Installing OpenCV 2.4.3 in Visual C++ 2010 Express

我有我的路徑設置爲: C:\ OpenCV的\編譯\ 64 \ VC10 \ BIN

而對於選項卡下的編譯器設置 「搜索目錄」: 「編譯」:C:\ OpenCV的\編譯\包括 「接頭」:C:\ OpenCV的\ b uild \ 64 \ VC10 \ lib中

然後在選項卡下的 「連接器設置」 我從 C中的所有.lib文件:\ OpenCV的\編譯\ 64 \ VC10 \ lib中

我試圖運行這是我的測試程序,它給我一個錯誤讀出連接到 operations.hpp頭文件:

#include "opencv2/highgui/highgui.hpp" 
#include "iostream" 

using namespace cv; 
using namespace std; 

int main() 
{ 
    Mat im = imread("c:/full/path/to/lena.jpg"); 
    if (im.empty()) 
    { 
     cout << "Cannot load image!" << endl; 
     return -1; 
    } 
    imshow("Image", im); 
    waitKey(0); 
} 

錯誤說:

C:\OpenCV\build\include\opencv2\core\operations.hpp|3915|error: expected primary-expression before '>' token| 
C:\OpenCV\build\include\opencv2\core\operations.hpp|3915|error: expected primary-expression before ')' token| 

....和一堆其他的東西,但這是前兩個錯誤。

所以我2折的問題是這樣的:
1)我是否正確設置了我的IDE?
2)OpenCV代碼有問題嗎?

+0

你應該#include stl文件(比如帶有括號的iostream而不是「」)。這可能與你的問題沒有任何關係,但它不僅僅是好的練習 – eladidan 2013-02-14 23:55:22

+0

,你在CodeBlocks中使用了什麼編譯器?看來你是在鏈接到msvc10,你是用CodeBlocks編譯msvc10嗎?否則,你應該鏈接到適當的編譯器的庫。 – eladidan 2013-02-15 00:00:17

+0

爲什麼你不開始編譯hello世界?看起來你不會是能夠編譯的,要麼 – carlosdc 2013-02-15 01:12:37

回答

0

此問題的解決方案是編輯operations.cpp文件的第3915行。正確的返回參數是

return _create(name).Ptr < _Tp>();

0

你有沒有試過包含opencv核心?

#include "opencv2/core/core.hpp" 

我的假設是你不用核心函數,所以你的代碼不能識別一些函數。