我发现了几个与此相关的问题并尝试过。但是,我仍然无法解决问题。以下是我使用的网站以及我已做过的解释。
Visual Studieo 2010 with OpenCV 2.3.0
Another Visual Studio 2010 example
我正在使用的是:
第1步:
我进入了计算机>属性>高级系统设置>环境变量并添加:
{strong>路径变量末尾的D:\Development\openCV\build\x64\vc11\bin\
。然后我重新启动了电脑。
第2步: 创建了一个新项目并编辑了所有配置的属性。
D:\Development\openCV\build\include
D:\Development\openCV\build\x64\vc11\lib
opencv_calib3d2410d.lib
opencv_contrib2410d.lib
opencv_core2410d.lib
opencv_features2d2410d.lib
opencv_flann2410d.lib
opencv_gpu2410d.lib
opencv_highgui2410d.lib
opencv_imgproc2410d.lib
opencv_legacy2410d.lib
opencv_ml2410d.lib
opencv_nonfree2410d.lib
opencv_objdetect2410d.lib
opencv_photo2410d.lib
opencv_stitching2410d.lib
opencv_superres2410d.lib
opencv_ts2410d.lib
opencv_video2410d.lib
opencv_videostab2410d.lib
第3步: Build>配置管理器,项目更改为x64平台。
步骤4:我从上面的一个链接中复制并粘贴了代码,并修改并构建了图像的路径。
#include "stdafx.h"
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
Mat im = imread("D:/lena.png");
if (im.empty())
{
cout << "Cannot load image!" << endl;
return -1;
}
imshow("Image", im);
waitKey(0);
}
步骤5:我按下F7并成功构建了解决方案。 (可悲的是,花了一些时间来达到这一点)
问题是当我按F5时,我会收到错误说&#34;程序无法启动,因为您的计算机缺少opencv_core2410d.dll。尝试重新安装程序以解决此问题。&#34;
我认为将其添加到路径的第一步是解决方案。 通过将DLL移动到 D:\ Development \ VisualStudio \ opencvHelloWorld \ x64 \ Debug 文件夹,我可以运行可执行文件。任何人都可以解释如何解决这个问题?我错过了什么?
谢谢!
答案 0 :(得分:4)
OpenCV需要您用于项目的任何dll与可执行文件位于同一目录中。您可以将所需的dll(在本例中为opencv_core2410d.dll)复制到您的调试文件夹中,将opencvcore2410.dll复制到您的发布文件夹中,或者将visual studio设置为将可执行文件移动到bin文件夹中。此选项位于Project-&gt; Properties下,在General页面上,您可以更改输出目录。
另一种选择是使用静态库而不是opencv的动态库。这会将您正在使用的任何opencv函数添加到可执行文件中,而不是使用单独的dll。这将使您的可执行文件更大,但将消除任何DLL问题。在opencv目录中的build / x64或x86 / vc11下,使用staticlib文件夹中的库将项目构建为静态项目。您需要在解决方案中添加更多资源,以便首先进行编译。 This answer应该通过切换到静态构建来帮助解决您遇到的任何链接器问题。
如果您计划部署可执行文件并且不想用它打包dll,那么使用静态库是您可以开展项目的另一种方式
答案 1 :(得分:3)
只需重新启动Visual Studio AFTER 即可将bin添加到PATH。
答案 2 :(得分:0)
请在配置属性&gt;下添加以下内容: C / C ++&gt;一般来说,
1。 D:\ Development \ openCV \ build \ include
2。 D:\ Development \ openCV \ build \ opencv
3. D:\ Development \ openCV \ build \ opencv2
这将解决您的问题。