【发布时间】:2013-02-14 23:21:09
【问题描述】:
我是新来的,我一直在尝试在我的代码块 IDE 上设置 OpenCV。我不确定有什么问题。我使用的是windows 7、64位系统和codeblocks,我还下载了2-4.3版本的OpenCV。
我尝试按照手动指令here 进行操作,但没有任何帮助:http://opencv.willowgarage.com/wiki/CodeBlocks
即使我尝试使用代码块,我也尝试过: Installing OpenCV 2.4.3 in Visual C++ 2010 Express
我的路径设置为: C:\OpenCV\build\x64\vc10\bin
对于“搜索目录”选项卡下的编译器设置: “编译器”:C:\OpenCV\build\include “链接器”:C:\OpenCV\build\x64\vc10\lib
然后在“链接器设置”选项卡下,我拥有所有 .lib 文件 C:\OpenCV\build\x64\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 个错误。
所以我的 2 个问题是这样的:
1) 我的 IDE 设置是否正确?
2) OpenCV 代码有问题吗?
【问题讨论】:
-
您应该#include stl 文件(例如带有 括号而不是“”的iostream。这可能与您的问题无关,但这不仅仅是一种好的做法
-
另外,您在 CodeBlocks 中使用的是什么编译器?看来您正在链接 msvc10。您是否使用 CodeBlocks 中的 msvc10 进行编译?否则,您应该链接到相应编译器的库。
-
你为什么不从编译一个hello world开始呢?看来你也编译不了。
-
显然默认编译器是 GNU GCC。那我必须使用 mingw 库和 bin 吗?
-
是的,我尝试将库和 bin 更改为 mingw....我仍然遇到同样的错误。
标签: c++ opencv codeblocks windows-7-x64