c++ OpenCV不支持Visual Studio

dgtucam1  于 11个月前  发布在  其他
关注(0)|答案(5)|浏览(135)

我刚刚在我的电脑上安装了openCV 3.00测试版,我正试图用VS2013测试它。我遵循了快速入门指南:
1)Installation for windows,使用预构建库。
2)OpenCV在Microsoft VS内部,使用本地方法和x64/vc12目录作为库。
结果,他们的示例(在链接#2中列出)产生了一个错误:

#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main(int argc, char** argv)
{
    if (argc != 2)
    {
        cout << " Usage: display_image ImageToLoadAndDisplay" << endl;
        return -1;
    }

    Mat image;
    image = imread(argv[1], IMREAD_COLOR); // Read the file

    if (image.empty()) // Check for invalid input
    {
        cout << "Could not open or find the image" << std::endl;
        return -1;
    }

    namedWindow("Display window", 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;
}

字符串
输出为:

1>------ Build started: Project: test_openCV, Configuration: Debug Win32 ------
1>LINK : fatal error LNK1104: cannot open file 'opencv_calib3d300d.lib'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


据我所知,我的程序可以看到openCV库,但由于某种原因无法打开它们。请帮助。
谢谢
更新:尝试做什么是建议在前四个评论,没有结果仍然。所以我会在这里张贴完整的信息:
项目:CUDA 6.5(我需要使用CUDA)。
源文件:Source.cpp
模式:x64,x64。
环境变量:

OPENCV_DIR: C:\programs\misha\opencv\build\x64\vc12

Path (the last string): %OPENCV_DIR%\bin


页面属性:

C\C++ -> General -> Additional Include Directories(last string):
    $(OPENCV_DIR)\..\..\include
Linker -> General -> Additional Library Directories(last string):
    $(OPENCV_DIR)\lib
Linker -> Input -> Additional Dependencies:
    opencv_calib3d300d.lib
    opencv_core300d.lib
    opencv_features2d300d.lib
    opencv_flann300d.lib
    opencv_highgui300d.lib
    opencv_imgcodecs300d.lib
    opencv_imgproc300d.lib
    opencv_ml300d.lib
    opencv_objdetect300d.lib
    opencv_photo300d.lib
    opencv_shape300d.lib
    opencv_stitching300d.lib
    opencv_superres300d.lib
    opencv_ts300d.lib
    opencv_video300d.lib
    opencv_videoio300d.lib
    opencv_videostab300d.lib


输出量:

1>------ Build started: Project: test_openCV, Configuration: Debug x64 ------
1>LINK : fatal error LNK1104: cannot open file 'opencv_calib3d300d.lib'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


所以,我不能建立x64项目出于某种原因.错误是一样的.
更新2:如果你能构建这个例子(或者任何使用OpenCV的例子),可以在email protected(https://stackoverflow.com/cdn-cgi/l/email-protection)上发送吗?我会自己解决的

ny6fqffe

ny6fqffe1#

不幸的是,这个解决方案对我不起作用。
我通过添加额外的依赖项(Linker -> Input -> Additional Dependencies:)来使它工作,这些库仅位于我的$(OPENCV_lib)\lib文件夹中。即:opencv_ts300d.lib;opencv_world300d.lib。

vuv7lop3

vuv7lop32#

经过长时间的不同尝试,我找到了答案here。对于x64项目,除了我上面所做的,你必须:
1)设置环境变量后重新启动电脑。如果不重新启动,变量路径在我的电脑上无法更新。
2)除了上面添加的库之外,您还必须添加(尽管在本示例中,其中一些可能不会使用):

ippicvmt.lib
IlmImfd.lib
libtiffd.lib 
libpngd.lib
libjasperd.lib
libjpegd.lib
libwebpd.lib
zlibd.lib
comctl32.lib

字符串
编辑:我最近不得不在一台新PC上再次安装它。正如user 1060873所指出的,您必须只添加位于$OPENCV$/lib文件夹中的库。例如,在我的PC上,它是C:\opencv\build\x64\vc12\lib。请注意,对于调试模式,您应该添加opencv_world310d.lib,对于发行版opencv_world310.lib

kxkpmulp

kxkpmulp3#

我也面临着同样的问题.我使用win7 x64与VS2015和OpenCV 3.2经过几个小时的挣扎我终于找到了答案.每个版本是不一样的,可能会有一些差异.所以这是我做的:
1.查找您的库所在的位置,它位于$OPENCV$/lib文件夹中
1.只把那些是$OPENCV$/lib文件夹到附加库(Project properties, Configuration Properties, Linker, Input).在我的情况下,我把opencv_world300d.lib根据官方教程,这是不是最新的!)到我的附加库.但在我检查库文件夹,有opencv_world320d.lib,所以,而不是300我写320.

jvidinwx

jvidinwx4#

通过取消选中Linker->Input->Additional Additionencies下的“inherit from parent or project defaults”复选框解决了这个问题
我添加了“opencv_world3.0.0d.lib”,因为我使用opencv 3.0.0 build x64 vc 11

tjrkku2a

tjrkku2a5#

我需要做以下五件事来为Windows上的Microsoft Visual Studio配置OpenCV。
将OpenCV文件夹的根指定为OpenCV_ROOT,其计算结果为包含OpenCVConfig.cmake/path/to/OpenCV


的数据
1.将OpenCV的头文件,即${OpenCV_ROOT}/include,添加到项目Include Directories中。



1.将OpenCV的lib文件,即${OpenCV_ROOT}/x64/vc16/lib,添加到项目库目录中。



1.将${OpenCV_ROOT}/x64/vc16/lib下的所有OpenCV的lib文件添加到项目Additional configurations。



在Windows上,您可以在PowerShell中使用ls *.lib | select name仅列出目录下的文件名。
1.请确保上述配置更改与您的项目中所选的配置匹配。如果您在项目中选择了Release配置和x64平台,则需要在Release配置和x64平台中应用上述更改。

1.将OpenCV的bin目录,即${OpenCV_ROOT}/x64/vc16/bin,添加到Windows环境路径。如果您之前没有设置OpenCV的bin路径,则可能需要重新打开Visual Studio。
注意事项:虽然有一个官方指南OpenCV: How to build applications with OpenCV inside the 'Microsoft Visual Studio'来解释如何使用OpenCV构建应用程序,但它仍然缺乏一些细节,如我提供的步骤中的步骤4和步骤5。

相关问题