如何打包已定义的类并将其导出到dll中?

时间:2016-02-13 08:53:24

标签: c++ visual-studio opencv dll

这是我第一次处理dll。我正在使用Opencv3和Visual C ++编写人脸识别程序。在识别之前,我必须将CascadeClassigier,FaceRecognizer和VideoCapture加载到内存中。它们都是在opencv中定义的类。我想将这些类打包到一个新类中并使用DLL导出它。我这样做的目的是避免在我的应用程序中包含许多opencv文件。 这是我的代码(文件名是RecFuncs.h):

#pragma once
#include "opencv2/objdetect/objdetect.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/core/core.hpp"
#include "opencv2/face/facerec.hpp"
#include "opencv2/face/predict_collector.hpp"
#include <stdio.h>
#include <conio.h>

using namespace std;
using namespace cv;

#ifdef FACEDLL_EXPORTS
#define FACEDLL_API __declspec(dllexport)
#else
#define FACEDLL_API __declspec(dllimport)
#endif

namespace FaceFuncs {
    class FACEDLL_API Load
    {
    public:
        Ptr<face::FaceRecognizer> a;
        CascadeClassifier b;
        VideoCapture c;
    };
}

当我导入我的dll类时,似乎该类不完整或未定义。我怎样才能实现我的意图?有什么想法吗?

0 个答案:

没有答案