VS2017 C++编译时重定义错误怎么解决
lwl7969318 发布于2018-09 浏览:5299 回复:6
0
收藏

stdafx.h 的内容

#include

#pragma comment(lib,"libssl.lib")
#pragma comment(lib,"libcrypto.lib")
#pragma comment(lib,"ws2_32.lib")
#pragma comment(lib,"winmm.lib")
#pragma comment(lib,"wldap32.lib")

#ifdef _DEBUG
#pragma comment(lib,"libssh2D.lib")
#pragma comment(lib,"libcurlD.lib")
#pragma comment(lib,"lib_jsonD.lib")
#else
#pragma comment(lib,"lib_json.lib")
#pragma comment(lib,"libcurl.lib")
#pragma comment(lib,"libssh2.lib")
#endif // _DEBUG

stdafx.obj : error LNK2005: "class std::basic_string,class std::allocator > __cdecl aip::base64_encode(char const *,unsigned int)" (?base64_encode@aip@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PBDI@Z) 已经在 SmartMeterReading.obj 中定义
1>stdafx.obj : error LNK2005: "class std::basic_string,class std::allocator > __cdecl aip::canonicalize_headers(class std::map,class std::allocator >,class std::basic_string,class std::allocator >,struct std::less,class std::allocator > >,class std::allocator,class std::allocator > const ,class std::basic_string,class std::allocator > > > > &)" (?canonicalize_headers@aip@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@3@@Z) 已经在 SmartMeterReading.obj 中定义
1>stdafx.obj : error LNK2005: "class std::basic_string,class std::allocator > __cdecl aip::canonicalize_params(class std::map,class std::allocator >,class std::basic_string,class std::allocator >,struct std::less,class std::allocator > >,class std::allocator,class std::allocator > const ,class std::basic_string,class std::allocator > > > > &)" (?canonicalize_params@aip@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@3@@Z) 已经在 SmartMeterReading.obj 中定义
1>stdafx.obj : error LNK2005: "class std::basic_string,class std::allocator > __cdecl aip::get_headers_keys(class std::map,class std::allocator >,class std::basic_string,class std::allocator >,struct std::less,class std::allocator > >,class std::allocator,class std::allocator > const ,class std::basic_string,class std::allocator > > > > &)" (?get_headers_keys@aip@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@3@@Z) 已经在 SmartMeterReading.obj 中定义
1>stdafx.obj : error LNK2005: "class std::basic_string,class std::allocator > __cdecl aip::get_host(class std::basic_string,class std::allocator > const &)" (?get_host@aip@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV23@@Z) 已经在 SmartMeterReading.obj 中定义
1>stdafx.obj : error LNK2005: "class std::basic_string,class std::allocator > __cdecl aip::get_path(class std::basic_string,class std::allocator > const &)" (?get_path@aip@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV23@@Z) 已经在 SmartMeterReading.obj 中定义
1>stdafx.obj : error LNK2005: "class std::basic_string,class std::allocator > __cdecl aip::hmac_sha256(class std::basic_string,class std::allocator > const &,class std::basic_string,class std::allocator > const &)" (?hmac_sha256@aip@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV23@0@Z) 已经在 SmartMeterReading.obj 中定义
1>stdafx.obj : error LNK2005: "void __cdecl aip::sign(class std::basic_string,class std::allocator >,class std::basic_string,class std::allocator > &,class std::map,class std::allocator >,class std::basic_string,class std::allocator >,struct std::less,class std::allocator > >,class std::allocator,class std::allocator > const ,class std::basic_string,class std::allocator > > > > &,class std::map,class std::allocator >,class std::basic_string,class std::allocator >,struct std::less,class std::allocator > >,class std::allocator,class std::allocator > const ,class std::basic_string,class std::allocator > > > > &,class std::basic_string,class std::allocator > &,class std::basic_string,class std::allocator > &)" (?sign@aip@@YAXV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAV23@AAV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@3@211@Z) 已经在 SmartMeterReading.obj 中定义
1>stdafx.obj : error LNK2005: "class std::basic_string,class std::allocator > __cdecl aip::url_encode(class std::basic_string,class std::allocator > const &,bool)" (?url_encode@aip@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV23@_N@Z) 已经在 SmartMeterReading.obj 中定义
1>stdafx.obj : error LNK2005: "void __cdecl aip::url_parse(class std::basic_string,class std::allocator > const &,class std::map,class std::allocator >,class std::basic_string,class std::allocator >,struct std::less,class std::allocator > >,class std::allocator,class std::allocator > const ,class std::basic_string,class std::allocator > > > > &)" (?url_parse@aip@@YAXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@3@@Z) 已经在 SmartMeterReading.obj 中定义
1>stdafx.obj : error LNK2005: "class std::basic_string,class std::allocator > __cdecl aip::utc_time(__int64)" (?utc_time@aip@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_J@Z) 已经在 SmartMeterReading.obj 中定义

 

收藏
点赞
0
个赞
共6条回复 最后由用户已被禁言回复于2022-04
#8cdgskj回复于2020-03

我 #include "face.h"   放到 .cpp文件 就可以编译通过了!

1
#7cdgskj回复于2020-03

我也遇到这个问题  函数重定义

0
#6喜欢风的蒲公英回复于2019-04

我这边导入的speech.h头文件,就会LNK2005

在.h文件中导入头文件链接出错,但是在.cpp文件中导入头文件不会链接出错,这是为什么呢?网上说多半是函数重定义的缘故,或者是第三方库的原因。

0
#5yzm19971102回复于2019-04
#3 9897867回复
我也遇到同样的问题了,函数重定义

你好,可以加QQ交流一下吗,我最近也在使用C++的SDK

0
#49897867回复于2019-04

我找到解决办法了,包含ocr.h时不要和包含 json、openssl、curl的头文件写在一个文件中,分开就不会出现这个错误了

0
#39897867回复于2019-04

我也遇到同样的问题了,函数重定义

0
TOP
切换版块