MS Visual Studio 2015 Community VCMI Build

Is there a way to compile VCMI using MS VS 2015 Community?

For example, it finds errors in boost libraries of versions > 1.55.
Minizip demands kernel32.lib, which is not present in MSVS2015.

What errors?

What is a replacement of kernel32.lib in MSVS2015?

Just stepping by to say I don’t have MVS 2015 yet :-/

Any idea how to fix this boost 1.59 compile error from VS2015?

template < typename MemberType, int UniqueID = 0 >
class base_from_member
{
protected:
    MemberType  member;

#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && \
    !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && \
    !defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS) && \
    !(defined(__GNUC__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 4))
    template <typename ...T, typename EnableIf = typename
     ::boost::detail::enable_if_unrelated<base_from_member, T...>::type>
    explicit BOOST_CONSTEXPR base_from_member( T&& ...x )
        BOOST_NOEXCEPT_IF( BOOST_NOEXCEPT_EXPR(::new ((void*) 0) MemberType(
         static_cast<T&&>(x)... )) )  // no std::is_nothrow_constructible...
        : member( static_cast<T&&>(x)... )     // ...nor std::forward needed
        {}
#else
    base_from_member()
        : member()
        {}

    BOOST_PP_REPEAT_FROM_TO( 1, BOOST_PP_INC(BOOST_BASE_FROM_MEMBER_MAX_ARITY),
     BOOST_PRIVATE_CTR_DEF, _ )
#endif

};  // boost::base_from_member

On line: explicit BOOST_CONSTEXPR base_from_member( T&& …x )

May be you should try 1.58 and 1.60

Tried 1.60 same result. VS2015 Update 2 same result :frowning:

I think I had it some 3 months ago but forgot.

It is caused by a Variadic template bug of VS2015. The code compiles by defining BOOST_NO_CXX11_VARIADIC_TEMPLATES.

So… solved

now another one…

Are these caused by changes in VC 2015?

Severity	Code	Description	Project	File	Line	Suppression State
Error	LNK2001	unresolved external symbol "__declspec(dllimport) protected: void __thiscall CCallbackBase::setBattle(class BattleInfo const *)" (__imp_?setBattle@CCallbackBase@@IAEXPBVBattleInfo@@@Z)	VCMI_server	...\VCMI\trunk\server\CGameHandler.obj	1	

Severity	Code	Description	Project	File	Line	Suppression State
Error	LNK2001	unresolved external symbol "public: __thiscall CArmyTooltip::CArmyTooltip(struct Point,struct InfoAboutArmy const &)" (??0CArmyTooltip@@QAE@UPoint@@ABUInfoAboutArmy@@@Z)	VCMI_client	.../VCMI\trunk\client\InfoWindows.obj	1	

I am still stuck at the above mentioned error. Does anyone have a helping clue?

In trunk\client\widgets\MiscWidgets.h misses a #include “…/lib/CGameStateFwd.h” this solves the second error.

But the first still remains…

Try explicit include CBattleCallback.h to CGameHandler.cpp

Tried that before, it does not help :frowning: