【发布时间】:2014-12-22 18:22:30
【问题描述】:
问题在于 OpenCV 尚未正确设置以运行简单的“Hello World”类型的程序。
正在运行:Windows 8,64 位
IDE:代码块 13.12
OpenCV:2.4.10
采取的措施
- 已下载 OpenCV
- 二进制文件是使用 CMake 构建的(遵循本教程的基本步骤: http://kevinhughes.ca/tutorials/opencv-install-on-windows-with-codeblocks-and-mingw/)
- 将环境变量的 PATH 设置为
C:\opencv\build\x64\mingw\bin;C:\MinGW\bin - 将链接库设置为
C:\opencv\build\x64\mingw\lib中包含的所有库
* 注意 * 文件的类型是.dll.a而不是.dll - 将搜索目录编译器设置为
C:\opencv\build\include - 将搜索目录链接器设置为
C:\opencv\build\x86\mingw\lib - 从 OpenCV 教程复制代码以测试正确的配置
'
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main()
{
Mat image;// new blank image
image = cv::imread("test.png", 0);// read the file
namedWindow( "Display window", CV_WINDOW_AUTOSIZE );// create a window for display.
imshow( "Display window", image );// show our image inside it.
waitKey(0);// wait for a keystroke in the window
return 0;
}'
- 建成并运行
- 出现以下系统错误
程序无法启动,因为缺少 libopencv_core2410.dll 你的电脑。尝试重新安装程序以解决此问题。
配置有什么问题?
【问题讨论】:
-
将DLL复制到你的exe所在的目录。
-
在 MinGW 目录中找到 «libopencv_core2410.dll» 文件的位置,然后将路径添加到 $PATH,或者在项目中添加链接路径。
-
@sashoalm,糟糕的主意。完全击败“共享库”
-
@berak 好吧,这就是 Windows 上的一种方式。你真的认为任何人都会希望 DLL 恰好在客户端的机器上吗?每个程序都只是将 DLL 放在 exe 的目录中,去
C:\Program Files看看。这不是 UNIX。
标签: c++ opencv dll codeblocks