首页| 论坛| 消息
主题:无法解析的外部符号   MFC工程(没地方问)
介农酥发表于 2023-07-25 23:06
1>MES.obj : error LNK2019: 无法解析的外部符号 "public: class ATL::CStringT __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;
}
回帖(3):
3楼:http cpp文件应该没有编译,所以链接的时候找不到。
2楼:明显的是有函数声明,但是编译器找不到函数实现,所以不是头文件的问题
可以把实现改类的.cpp ..
1楼:错误有很多可能,baidu一下

全部回帖(3)»
最新回帖
收藏本帖
发新帖