1>MES.obj : error LNK2019: 无法解析的外部符号 "public: class ATL::CStringT<wchar_t,class ATL::StrTraitATL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > > __cdecl _Http::PostData(struct _RequestParam)" (?PostData@_Http@@QEAA?AV?$CStringT@_WV?$StrTraitATL@_WV?$ChTraitsCRT@_W@ATL@@@ATL@@@ATL@@U_RequestParam@@@Z),函数 "public: struct _MES_Data __cdecl MES::GetData(struct _RequestParam)" (?GetData@MES@@QEAA?AU_MES_Data@@U_RequestParam@@@Z) 中引用了该符号
意思是MES::GetData()函数中不能找到函数_Http::PostData()。
C++里面语法我还是不太熟悉,还有一个Qt工程,我想把两个程序合并到一起,因为很多类是同名的,我本来是想用命名空间将另一个程序包起来,这样就不会同名了,但还报是同名,哎,其实很不理解。
大概的工程(visual studio 2022 纯MFC工程):
MES.h 包含了_http.h文件,但是MES.h文件在文件夹Modules,_http.h在文件夹common里,我在想是不是不同的文件夹导致找不到_http.cpp。
#pragma once
#include "../common/_Http.h"
class MES
{
public:
MES();
MES_Data GetData(RequestParam rp);
private:
_Http* http;
};
#include "MES.h"
MES::MES()
{
http = new _Http();
}
MES_Data MES::GetData(RequestParam rp)
{
MES_Data md;
CString str = http->PostData(rp);
return md;
}