由于工程的需要,需要将多个功能写入多个C++文件中,以便来分解每个功能!!这在稍微大一点的项目中都是需要实现的!但一直遇到不少问题,在剑秋的帮助下,解决了问题,下面说一下我遇到的错误!
#include <opencv2\opencv.hpp> #include <iostream> #include <string> #include"svm.cpp" #include "plate.cpp"
#include "plate_locate.h" using namespace std; void svm() { printf("aa\n"); }plate中类似,,改成加入.h文件后,我include了plate.h和svm.h文件,在这俩个.h文件中声明了svm()和plate();注意加入#ifdef #endif防止重复定义!而在.cpp中,只写入实现!svm.cpp和plate.cpp直接加入到工程的源文件中,ide会一起编译,如下图:
2 第二个问题,VS2013出现无法解析的命令,,后来发现,我引用了类的成员函数但是没有实现这个函数,!这是不允许的
在这里我声明了CPlateLocate对象!默认会调用CPlateLocate构造函数,但是在我的类中CPlateLocate();只写了这句声明,没有实现,导致如下错误
在将CPlateLocate()类中的构造函数变成了CPlateLocate(){};实现之后,就成功了,至此我遇到的问题全部解决!