2013-02-14 34 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" 

我的假设是你不用核心函数,所以你的代码不能识别一些函数。