首页 文章

OpenCV从VS2013迁移到QT 5.5

提问于
浏览
1

我已经从here下载了适用于Windows的OpenCV 2.4.11,并且已经像这样为Visual Studio 2013(x86)设置了它:

RB =右键

  • 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

  • 包括:

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

使用命名空间cv;
using namespace std;

一切都很好,但现在我想在QT 5.5中做同样的事情:

enter image description here

我用基类“QDialog”制作了新的“QT Witgets Application”和这些套件:

enter image description here

使用此.pro文件:

#-------------------------------------------------
#
# 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

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

#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();
}

生成运行时发生以下错误:

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

我怎样才能解决这个问题?

1 回答

  • 1

    感谢Miki,.pro文件的最终添加是这样的:

    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
    

    但是如果你仍然遇到imread和其他函数的问题,请参阅this topic .

相关问题