导入*.cpp文件后,编译出现错误error LNK2005

seg.cpp的代码功能是预处理图片/检测图片
现在Cpig.cpp中加入include < seg.cpp >
出现如下错误:

1>------ 已启动全部重新生成: 项目: AnimalsFatMeasure, 配置: Release x64 ------
1>stdafx.cpp
1>AnimalsFatMeasure.cpp
1>AnimalsFatMeasureDlg.cpp
1>Cpig.cpp
1>INFOR.cpp
1>seg.cpp
1>seg.obj : error LNK2005: "class cv::Mat g_srcImage" (?g_srcImage@@3VMat@cv@@A) 已经在 Cpig.obj 中定义
1>seg.obj : error LNK2005: "class cv::Mat g_grayImage" (?g_grayImage@@3VMat@cv@@A) 已经在 Cpig.obj 中定义
1>seg.obj : error LNK2005: "class cv::Mat out_therImage" (?out_therImage@@3VMat@cv@@A) 已经在 Cpig.obj 中定义
1>seg.obj : error LNK2005: "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > saveImage" (?saveImage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A) 已经在 Cpig.obj 中定义
1>seg.obj : error LNK2005: "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > file_save" (?file_save@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A) 已经在 Cpig.obj 中定义
1>Cpig.obj : error LNK2005: "float __cdecl Zfhanliang(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?Zfhanliang@@YAMV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) 已经在 Cpig.obj 中定义
1>Cpig.obj : error LNK2005: "bool __cdecl Jh12(int,int)" (?Jh12@@YA_NHH@Z) 已经在 Cpig.obj 中定义

具体代码如下
seg.cpp

#include"stdafx.h"
#include <iostream>
#include<opencv2\opencv.hpp>
#include<opencv2/imgproc/imgproc.hpp>
#include<vector>
#include<math.h>
#include<algorithm>
#include<time.h>
#include<io.h>
#include<stdio.h>
#include<string>
//#include<squares.cpp>

using namespace cv;
using namespace std;

Mat g_srcImage, g_grayImage, out_therImage;
string saveImage = "preidentify/save";
string file_save = "middleidentify/";

Cpig.cpp代码如下

#include "Resource.h"
#include "stdafx.h"
#include "AnimalsFatMeasure.h"
#include "Cpig.h"
#include "afxdialogex.h"
#include "INFOR.h"
#include <opencv2/opencv.hpp>
#include "seg.cpp"
c++

1个回答

朋友,.cpp可不是用来include的,你需要整理出一个seg.h来,然后引用这个.h

neninee
neninee 谢谢你的回答,我后续又出现了LNK2001的错误,地址是https://ask.csdn.net/questions/888874
9 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问