I tried to compile VCMI after longer break and there are some significant issues with CTypeList:
Error 2 error C2440: 'return' : cannot convert from 'CGTownInstance *' to 'CGObjectInstance *' d:\vcmi\vcmi\lib\mapobjects\CommonConstructors.h 44
Error 20 error LNK1120: 6 unresolved externals D:\VCMI\vcmi\AI\VCAI.dll
Error 13 error LNK1120: 7 unresolved externals D:\VCMI\vcmi\VCMI_server.exe
Error 29 error LNK1120: 8 unresolved externals D:\VCMI\vcmi\VCMI_client.exe
Error 9 error LNK2001: unresolved external symbol "__declspec(dllimport) private: class std::shared_ptr<struct CTypeList::TypeDescriptor> __thiscall CTypeList::registerType(class type_info const *)" (__imp_?registerType@CTypeList@@AAE?AV?$shared_ptr@UTypeDescriptor@CTypeList@@@std@@PBVtype_info@@@Z) D:\VCMI\vcmi\server\CGameHandler.obj
Error 16 error LNK2001: unresolved external symbol "__declspec(dllimport) private: class std::shared_ptr<struct CTypeList::TypeDescriptor> __thiscall CTypeList::registerType(class type_info const *)" (__imp_?registerType@CTypeList@@AAE?AV?$shared_ptr@UTypeDescriptor@CTypeList@@@std@@PBVtype_info@@@Z) D:\VCMI\vcmi\AI\VCAI\VCAI.obj
Error 23 error LNK2001: unresolved external symbol "__declspec(dllimport) private: class std::shared_ptr<struct CTypeList::TypeDescriptor> __thiscall CTypeList::registerType(class type_info const *)" (__imp_?registerType@CTypeList@@AAE?AV?$shared_ptr@UTypeDescriptor@CTypeList@@@std@@PBVtype_info@@@Z) D:\VCMI\vcmi\client\Client.obj
Error 7 error LNK2001: unresolved external symbol "__declspec(dllimport) private: class std::vector<class std::shared_ptr<struct CTypeList::TypeDescriptor>,class std::allocator<class std::shared_ptr<struct CTypeList::TypeDescriptor> > > __thiscall CTypeList::castSequence(class type_info const *,class type_info const *)const " (__imp_?castSequence@CTypeList@@ABE?AV?$vector@V?$shared_ptr@UTypeDescriptor@CTypeList@@@std@@V?$allocator@V?$shared_ptr@UTypeDescriptor@CTypeList@@@std@@@2@@std@@PBVtype_info@@0@Z) D:\VCMI\vcmi\server\CGameHandler.obj
Error 14 error LNK2001: unresolved external symbol "__declspec(dllimport) private: class std::vector<class std::shared_ptr<struct CTypeList::TypeDescriptor>,class std::allocator<class std::shared_ptr<struct CTypeList::TypeDescriptor> > > __thiscall CTypeList::castSequence(class type_info const *,class type_info const *)const " (__imp_?castSequence@CTypeList@@ABE?AV?$vector@V?$shared_ptr@UTypeDescriptor@CTypeList@@@std@@V?$allocator@V?$shared_ptr@UTypeDescriptor@CTypeList@@@std@@@2@@std@@PBVtype_info@@0@Z) D:\VCMI\vcmi\AI\VCAI\VCAI.obj
Error 21 error LNK2001: unresolved external symbol "__declspec(dllimport) private: class std::vector<class std::shared_ptr<struct CTypeList::TypeDescriptor>,class std::allocator<class std::shared_ptr<struct CTypeList::TypeDescriptor> > > __thiscall CTypeList::castSequence(class type_info const *,class type_info const *)const " (__imp_?castSequence@CTypeList@@ABE?AV?$vector@V?$shared_ptr@UTypeDescriptor@CTypeList@@@std@@V?$allocator@V?$shared_ptr@UTypeDescriptor@CTypeList@@@std@@@2@@std@@PBVtype_info@@0@Z) D:\VCMI\vcmi\client\Client.obj
Error 11 error LNK2001: unresolved external symbol "__declspec(dllimport) private: virtual void __thiscall CGDwelling::blockingDialogAnswered(class CGHeroInstance const *,unsigned int)const " (__imp_?blockingDialogAnswered@CGDwelling@@EBEXPBVCGHeroInstance@@I@Z) D:\VCMI\vcmi\server\CVCMIServer.obj
Error 17 error LNK2001: unresolved external symbol "__declspec(dllimport) private: virtual void __thiscall CGDwelling::blockingDialogAnswered(class CGHeroInstance const *,unsigned int)const " (__imp_?blockingDialogAnswered@CGDwelling@@EBEXPBVCGHeroInstance@@I@Z) D:\VCMI\vcmi\AI\VCAI\VCAI.obj
Error 24 error LNK2001: unresolved external symbol "__declspec(dllimport) private: virtual void __thiscall CGDwelling::blockingDialogAnswered(class CGHeroInstance const *,unsigned int)const " (__imp_?blockingDialogAnswered@CGDwelling@@EBEXPBVCGHeroInstance@@I@Z) D:\VCMI\vcmi\client\Client.obj
Error 27 error LNK2001: unresolved external symbol "__declspec(dllimport) public: bool __thiscall TerrainTile::hasFavorableWinds(void)const " (__imp_?hasFavorableWinds@TerrainTile@@QBE_NXZ) D:\VCMI\vcmi\client\mapHandler.obj
Error 12 error LNK2001: unresolved external symbol "__declspec(dllimport) public: class boost::any __thiscall CTypeList::castShared(class boost::any,class type_info const *,class type_info const *)const " (__imp_?castShared@CTypeList@@QBE?AVany@boost@@V23@PBVtype_info@@1@Z) D:\VCMI\vcmi\server\CVCMIServer.obj
Error 18 error LNK2001: unresolved external symbol "__declspec(dllimport) public: class boost::any __thiscall CTypeList::castShared(class boost::any,class type_info const *,class type_info const *)const " (__imp_?castShared@CTypeList@@QBE?AVany@boost@@V23@PBVtype_info@@1@Z) D:\VCMI\vcmi\AI\VCAI\VCAI.obj
Error 25 error LNK2001: unresolved external symbol "__declspec(dllimport) public: class boost::any __thiscall CTypeList::castShared(class boost::any,class type_info const *,class type_info const *)const " (__imp_?castShared@CTypeList@@QBE?AVany@boost@@V23@PBVtype_info@@1@Z) D:\VCMI\vcmi\client\Client.obj
Error 28 error LNK2001: unresolved external symbol "__declspec(dllimport) public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall CGameInfoCallback::getTavernRumor(class CGObjectInstance const *)const " (__imp_?getTavernRumor@CGameInfoCallback@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PBVCGObjectInstance@@@Z) D:\VCMI\vcmi\client\GUIClasses.obj
Error 8 error LNK2001: unresolved external symbol "__declspec(dllimport) public: unsigned short __thiscall CTypeList::getTypeID(class type_info const *,bool)const " (__imp_?getTypeID@CTypeList@@QBEGPBVtype_info@@_N@Z) D:\VCMI\vcmi\server\CGameHandler.obj
Error 15 error LNK2001: unresolved external symbol "__declspec(dllimport) public: unsigned short __thiscall CTypeList::getTypeID(class type_info const *,bool)const " (__imp_?getTypeID@CTypeList@@QBEGPBVtype_info@@_N@Z) D:\VCMI\vcmi\AI\VCAI\VCAI.obj
Error 22 error LNK2001: unresolved external symbol "__declspec(dllimport) public: unsigned short __thiscall CTypeList::getTypeID(class type_info const *,bool)const " (__imp_?getTypeID@CTypeList@@QBEGPBVtype_info@@_N@Z) D:\VCMI\vcmi\client\Client.obj
Error 10 error LNK2001: unresolved external symbol "__declspec(dllimport) public: void * __thiscall CTypeList::castRaw(void *,class type_info const *,class type_info const *)const " (__imp_?castRaw@CTypeList@@QBEPAXPAXPBVtype_info@@1@Z) D:\VCMI\vcmi\server\CGameHandler.obj
Error 19 error LNK2001: unresolved external symbol "__declspec(dllimport) public: void * __thiscall CTypeList::castRaw(void *,class type_info const *,class type_info const *)const " (__imp_?castRaw@CTypeList@@QBEPAXPAXPBVtype_info@@1@Z) D:\VCMI\vcmi\AI\VCAI\VCAI.obj
Error 26 error LNK2001: unresolved external symbol "__declspec(dllimport) public: void * __thiscall CTypeList::castRaw(void *,class type_info const *,class type_info const *)const " (__imp_?castRaw@CTypeList@@QBEPAXPAXPBVtype_info@@1@Z) D:\VCMI\vcmi\client\Client.obj
Error 6 error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall CPrivilagedInfoCallback::getTilesInRange(class std::unordered_set<class int3,struct ShashInt3,struct std::equal_to<class int3>,class std::allocator<class int3> > &,class int3,int,class boost::optional<class PlayerColor>,int,bool)const " (__imp_?getTilesInRange@CPrivilagedInfoCallback@@QBEXAAV?$unordered_set@Vint3@@UShashInt3@@U?$equal_to@Vint3@@@std@@V?$allocator@Vint3@@@4@@std@@Vint3@@HV?$optional@VPlayerColor@@@boost@@H_N@Z) D:\VCMI\vcmi\server\CGameHandler.obj
Probably missing include(s).