TarsCloud / Tars

Tars is a high-performance RPC framework based on name service and Tars protocol, also integrated administration platform, and implemented hosting-service via flexible schedule.
BSD 3-Clause "New" or "Revised" License
9.78k stars 2.08k forks source link

编译AdminRegistry为抽象类出错 #882

Closed wuguinianjing closed 2 years ago

wuguinianjing commented 2 years ago

In file included from /root/code/tars/TarsFramework-v3.0.5/tarscpp/servant/servant/Application.h:30, from /root/code/tars/TarsFramework-v3.0.5/AdminRegistryServer/AdminRegistryServer.h:17, from /root/code/tars/TarsFramework-v3.0.5/AdminRegistryServer/AdminRegistryServer.cpp:17: /root/code/tars/TarsFramework-v3.0.5/tarscpp/servant/servant/ServantHelper.h: In instantiation of ‘tars::ServantPtr tars::ServantCreation::create(cImp; tars::ServantPtr = tars::TC_AutoPtr; std::string = std::__cxx11::basic_string]’: /root/code/tars/TarsFramework-v3.0.5/tarscpp/servant/servant/ServantHelper.h:49:16: required from here /root/code/tars/TarsFramework-v3.0.5/tarscpp/servant/servant/ServantHelper.h:49:49: 错误:invalid new-expression of abstract class type ‘AdminRegistry 49 | ServantPtr create(const string &s) { T *p = new T; p->setName(s); p->setApplication(_application); return p; } | ^~~~~ In file included from /root/code/tars/TarsFramework-v3.0.5/AdminRegistryServer/AdminRegistryServer.cpp:18: /root/code/tars/TarsFramework-v3.0.5/AdminRegistryServer/AdminRegistryImp.h:47:7: 附注:因为下列虚函数在‘AdminRegistryImp’中为纯虚函数: 47 | class AdminRegistryImp: public AdminReg | ^~~~ In file included from /root/code/tars/TarsFramework-v3.0.5/AdminRegistryServer/DbProxy.h:28, from /root/code/tars/TarsFramework-v3.0.5/AdminRegistryServer/AdminReapThread.h:22, from /root/code/tars/TarsFramework-v3.0.5/AdminRegistryServer/AdminRegistryServer.h:18, from /root/code/tars/TarsFramework-v3.0.5/AdminRegistryServer/AdminRegistryServer.cpp:17: /root/code/tars/TarsFramework-v3.0.5/tarscpp/servant/protocol/framework/AdminReg.h:8295:29: 附注: ‘virtual tars::Int32 tars::AdminReg::dockerPull( 8295 | virtual tars::Int32 dockerPull(const std::string & baseImageId,tars::TarsCurrentPtr current) = 0; | ^~~~~~ make[2]: [AdminRegistryServer/CMakeFiles/tarsAdminRegistry.dir/AdminRegistryServer.cpp.o] 错误 1 make[1]: [AdminRegistryServer/CMakeFiles/tarsAdminRegistry.dir/all] 错误 2 make: *** [all] 错误 2

ruanshudong commented 2 years ago

代码没匹配, 编译framework, tarscpp以及tarscpp/servant/protocol都要用匹配的git, 你要不都更新到最新吧

wuguinianjing commented 2 years ago

代码没匹配, 编译framework, tarscpp以及tarscpp/servant/protocol都要用匹配的git, 你要不都更新到最新吧

好的,最新的代码可以编译过去,多谢了