OpenCV 从 VS2013 迁移到 QT 5.5 [英] OpenCV migration from VS2013 to QT 5.5

查看:77
本文介绍了OpenCV 从 VS2013 迁移到 QT 5.5的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经从

我使用基类QDialog"和这些工具包制作了新的QT Witgets Application":

使用这个 .pro 文件:

 #-------------------------------------------------## QtCreator 创建的项目 2015-10-07T10:54:31##-------------------------------------------------QT += 核心 guiGreaterThan(QT_MAJOR_VERSION, 4):QT += 小部件目标 = asd模板 = 应用程序源 += main.cpp\对话框.cpp标题 += dialog.h表单 += dialog.uiINCLUDEPATH += D:\opencv_2411\opencv\build\includeLIBS += D:\opencv_2411\opencv\build\x64\vc12\lib\-lopencv_calib3d2411.lib \-lopencv_core2411.lib \-lopencv_features2d2411.lib \-lopencv_flann2411.lib \-lopencv_highgui2411.lib \-lopencv_imgproc2411.lib \-lopencv_ml2411.lib \-lopencv_objdetect2411.lib \-lopencv_photo2411.lib \-lopencv_stitching2411.lib \-lopencv_superres2411.lib \-lopencv_ts2411.lib \-lopencv_video2411.lib \-lopencv_videostab2411.lib

我运行 qmake 来应用 .pro 文件中的更改.在我的源文件中,我有:

#include "dialog.h"#include #include #include #include int main(int argc, char *argv[]){QApplication a(argc, argv);对话 w;w.show();返回 a.exec();}

当构建运行时出现以下错误:

<块引用>

:-1: 错误: LNK1104: 无法打开文件'D:\opencv_2411\opencv\build\x64\vc12\lib.obj'

我该如何解决这个问题?

解决方案

感谢 Miki 对 .pro 文件的最后补充是:

INCLUDEPATH += D:\opencv_2411\opencv\build\includeLIBS += -LD:\opencv_2411\opencv\build\x64\vc12\lib\-lopencv_calib3d2411 \-lopencv_core2411 \-lopencv_features2d2411 \-lopencv_flann2411 \-lopencv_highgui2411 \-lopencv_imgproc2411 \-lopencv_ml2411 \-lopencv_objdetect2411 \-lopencv_photo2411 \-lopencv_stitching2411 \-lopencv_superres2411 \-lopencv_ts2411 \-lopencv_video2411 \-lopencv_videostab2411

但如果您仍然有 imread 和其他功能的问题,请参阅this主题.

I have downloaded OpenCV 2.4.11 for windows from here and have set it up for Visual Studio 2013(x86) like this way:

RB=right button

  • RB on project -> Configuration Properties -> Debugging -> Environment

PATH=%PATH%;D:\opencv_2411\opencv\build\x86\vc12\bin

  • RB on project -> Configuration Properties -> C/C++ -> General -> Additional Include Directories

D:\opencv_2411\opencv\build\include

  • RB on project -> Configuration Properties -> Linker -> General -> Additional Library Directories

D:\opencv_2411\opencv\build\x86\vc12\lib

  • RB on project -> Configuration Properties -> Linker -> Input -> Additional Library Directories

opencv_calib3d2411d.lib
opencv_contrib2411d.lib
opencv_core2411d.lib
opencv_features2d2411d.lib
opencv_flann2411d.lib
opencv_gpu2411d.lib
opencv_highgui2411d.lib
opencv_imgproc2411d.lib
opencv_legacy2411d.lib
opencv_ml2411d.lib
opencv_nonfree2411d.lib
opencv_objdetect2411d.lib
opencv_ocl2411d.lib
opencv_photo2411d.lib
opencv_stitching2411d.lib
opencv_superres2411d.lib
opencv_ts2411d.lib
opencv_video2411d.lib
opencv_videostab2411d.lib

  • The includes:

#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
using namespace std;

Everything was OK, but now I am trying to do the same thing in QT 5.5:

I made new "QT Witgets Application" with base class "QDialog" and these kits:

With the use of this .pro file:

    #-------------------------------------------------
#
# Project created by QtCreator 2015-10-07T10:54:31
#
#-------------------------------------------------

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = asd
TEMPLATE = app


SOURCES += main.cpp\
        dialog.cpp

HEADERS  += dialog.h

FORMS    += dialog.ui

INCLUDEPATH += D:\opencv_2411\opencv\build\include
LIBS += D:\opencv_2411\opencv\build\x64\vc12\lib \
-lopencv_calib3d2411.lib \
-lopencv_core2411.lib \
-lopencv_features2d2411.lib \
-lopencv_flann2411.lib \
-lopencv_highgui2411.lib \
-lopencv_imgproc2411.lib \
-lopencv_ml2411.lib \
-lopencv_objdetect2411.lib \
-lopencv_photo2411.lib \
-lopencv_stitching2411.lib \
-lopencv_superres2411.lib \
-lopencv_ts2411.lib \
-lopencv_video2411.lib \
-lopencv_videostab2411.lib

I run qmake to apply changes in .pro file. In my source file I have:

#include "dialog.h"
#include <QApplication>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Dialog w;
    w.show();

    return a.exec();
}

When the Build is Run the following error occures:

:-1: error: LNK1104: cannot open file 'D:\opencv_2411\opencv\build\x64\vc12\lib.obj'

How can I fix this?

解决方案

Thanks to Miki the final addition to the .pro file is this:

INCLUDEPATH += D:\opencv_2411\opencv\build\include
LIBS += -LD:\opencv_2411\opencv\build\x64\vc12\lib \
-lopencv_calib3d2411 \
-lopencv_core2411 \
-lopencv_features2d2411 \
-lopencv_flann2411 \
-lopencv_highgui2411 \
-lopencv_imgproc2411 \
-lopencv_ml2411 \
-lopencv_objdetect2411 \
-lopencv_photo2411 \
-lopencv_stitching2411 \
-lopencv_superres2411 \
-lopencv_ts2411 \
-lopencv_video2411 \
-lopencv_videostab2411

But if you still have problems with imread and other functions see this topic.

这篇关于OpenCV 从 VS2013 迁移到 QT 5.5的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆