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 中定义
我 #include "face.h" 放到 .cpp文件 就可以编译通过了!
我也遇到这个问题 函数重定义
我这边导入的speech.h头文件,就会LNK2005
在.h文件中导入头文件链接出错,但是在.cpp文件中导入头文件不会链接出错,这是为什么呢?网上说多半是函数重定义的缘故,或者是第三方库的原因。
你好,可以加QQ交流一下吗,我最近也在使用C++的SDK
我找到解决办法了,包含ocr.h时不要和包含 json、openssl、curl的头文件写在一个文件中,分开就不会出现这个错误了
我也遇到同样的问题了,函数重定义