使用 ppconsul(Consul client for c++)构建 c++ 项目时出错
Error building c++ project with ppconsul(Consul client for c++)
我是 cpp 的初学者,正在尝试使用名为 ppconsul(https://github.com/oliora/ppconsul) 的 cpp 库。该库依赖于其他一些库,例如(boost 和 curl)。我已经构建了 ppconsul 及其所有依赖项,并尝试在新项目中使用 ppconsul 可执行文件。当我尝试构建新项目时,我遇到了一些 linker 问题,如下所示。
错误 LNK2001:无法解析的外部符号 "public: virtual char const * thiscall ppconsul::BadStatus::what(void)const " (?what@BadStatus@ppconsul@@UBEPBDXZ)
1>ConsulApp.obj : error LNK2019: 未解析的外部符号 "class std::basic_string,class std::allocator > __cdecl ppconsul::helpers::encodeUrl(class std::basic_string,class std::allocator > const &)" (?encodeUrl@helpers@ppconsul@@YA?AV?$basic_string@DU?$char_traits@D@ std@@V?$allocator@D@2@@std@@ABV34@@Z) 在函数中引用 "void __cdecl ppconsul::parameters::detail::printParameter(class std::basic_ostream > &,class std::basic_string,class std::allocator > const &,struct ppconsul::kw::dc_keyword)" (??$printParameter@Udc_keyword__@kw@ppconsul@@@detail@parameters @ppconsul@@YAXAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@ABV?$basic_string@DU?$char_traits@D @std@@V?$allocator@D@2@@4@Udc_keyword__@kw@2@@Z)
我尝试 link 项目并更改 visual studio 但没有任何效果。有人知道这个 linker 问题吗?
TIA,
普拉西
问题已解决 - 请参阅此线程 github。com/oliora/ppconsul/issues/24
通过将 -DBUILD_STATIC_LIB=ON 传递给 CMake,将 ppconsul 构建为静态库。
我是 cpp 的初学者,正在尝试使用名为 ppconsul(https://github.com/oliora/ppconsul) 的 cpp 库。该库依赖于其他一些库,例如(boost 和 curl)。我已经构建了 ppconsul 及其所有依赖项,并尝试在新项目中使用 ppconsul 可执行文件。当我尝试构建新项目时,我遇到了一些 linker 问题,如下所示。
错误 LNK2001:无法解析的外部符号 "public: virtual char const * thiscall ppconsul::BadStatus::what(void)const " (?what@BadStatus@ppconsul@@UBEPBDXZ) 1>ConsulApp.obj : error LNK2019: 未解析的外部符号 "class std::basic_string,class std::allocator > __cdecl ppconsul::helpers::encodeUrl(class std::basic_string,class std::allocator > const &)" (?encodeUrl@helpers@ppconsul@@YA?AV?$basic_string@DU?$char_traits@D@ std@@V?$allocator@D@2@@std@@ABV34@@Z) 在函数中引用 "void __cdecl ppconsul::parameters::detail::printParameter(class std::basic_ostream > &,class std::basic_string,class std::allocator > const &,struct ppconsul::kw::dc_keyword)" (??$printParameter@Udc_keyword__@kw@ppconsul@@@detail@parameters @ppconsul@@YAXAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@ABV?$basic_string@DU?$char_traits@D @std@@V?$allocator@D@2@@4@Udc_keyword__@kw@2@@Z)
我尝试 link 项目并更改 visual studio 但没有任何效果。有人知道这个 linker 问题吗? TIA, 普拉西
问题已解决 - 请参阅此线程 github。com/oliora/ppconsul/issues/24
通过将 -DBUILD_STATIC_LIB=ON 传递给 CMake,将 ppconsul 构建为静态库。