Compilation without errors, the following link errors arise:
1>------ Rebuild All started: Project: test, Configuration: Release x64 ------
1>test_player_main.obj : error LNK2019: unresolved external symbol "public: static struct fsmlite::fsm<class player,int>::mem_fn_action<struct player::open_close,&private: void __cdecl player::open_drawer(struct player::open_close const &)>::type fsmlite::fsm<class player,int>::mem_fn_action<struct player::open_close,&private: void __cdecl player::open_drawer(struct player::open_close const &)>::value" (?value@?$mem_fn_action@Uopen_close@player@@$1?open_drawer@2@AEAAXAEBU12@@z@?$fsm@Vplayer@@h@fsmlite@@2Utype@123@A) referenced in function "public: static void __cdecl fsmlite::fsm<class player,int>::basic_row<0,struct player::open_close,1,struct fsmlite::fsm<class player,int>::mem_fn_action<struct player::open_close,&private: void __cdecl player::open_drawer(struct player::open_close const &)>::type,&public: static struct fsmlite::fsm<class player,int>::mem_fn_action<struct player::open_close,&private: void __cdecl player::open_drawer(struct player::open_close const &)>::type fsmlite::fsm<class player,int>::mem_fn_action<struct player::open_close,&private: void __cdecl player::open_drawer(struct player::open_close const &)>::value,struct fsmlite::fsm<class player,int>::no_guard::type,&public: static struct fsmlite::fsm<class player,int>::no_guard::type fsmlite::fsm<class player,int>::no_guard::value>::process_event(class player &,struct player::open_close const &)" (?process_event@?$basic_row@$0A@Uopen_close@player@@$00Utype@?$mem_fn_action@Uopen_close@player@@$1?open_drawer@2@AEAAXAEBU12@@z@?$fsm@Vplayer@@h@fsmlite@@$1?value@456@2U3456@AU3?$no_guard@Uopen_close@player@@@56@$1?7856@2U3856@A@?$fsm@Vplayer@@h@fsmlite@@SAXAEAVplayer@@AEBUopen_close@4@@z)
1>test_player_main.obj : error LNK2019: unresolved external symbol "public: static struct fsmlite::fsm<class player,int>::mem_fn_action<struct player::open_close,&private: void __cdecl player::close_drawer(struct player::open_close const &)>::type fsmlite::fsm<class player,int>::mem_fn_action<struct player::open_close,&private: void __cdecl player::close_drawer(struct player::open_close const &)>::value" (?value@?$mem_fn_action@Uopen_close@player@@$1?close_drawer@2@AEAAXAEBU12@@z@?$fsm@Vplayer@@h@fsmlite@@2Utype@123@A) referenced in function "public: static void __cdecl fsmlite::fsm<class player,int>::basic_row<1,struct player::open_close,2,struct fsmlite::fsm<class player,int>::mem_fn_action<struct player::open_close,&private: void __cdecl player::close_drawer(struct player::open_close const &)>::type,&public: static struct fsmlite::fsm<class player,int>::mem_fn_action<struct player::open_close,&private: void __cdecl player::close_drawer(struct player::open_close const &)>::type fsmlite::fsm<class player,int>::mem_fn_action<struct player::open_close,&private: void __cdecl player::close_drawer(struct player::open_close const &)>::value,struct fsmlite::fsm<class player,int>::no_guard::type,&public: static struct fsmlite::fsm<class player,int>::no_guard::type fsmlite::fsm<class player,int>::no_guard::value>::process_event(class player &,struct player::open_close const &)" (?process_event@?$basic_row@$00Uopen_close@player@@$01Utype@?$mem_fn_action@Uopen_close@player@@$1?close_drawer@2@AEAAXAEBU12@@z@?$fsm@Vplayer@@h@fsmlite@@$1?value@456@2U3456@AU3?$no_guard@Uopen_close@player@@@56@$1?7856@2U3856@A@?$fsm@Vplayer@@h@fsmlite@@SAXAEAVplayer@@AEBUopen_close@4@@z)
1>test_player_main.obj : error LNK2019: unresolved external symbol "public: static struct fsmlite::fsm<class player,int>::mem_fn_action<struct player::open_close,&private: void __cdecl player::stop_and_open(struct player::open_close const &)>::type fsmlite::fsm<class player,int>::mem_fn_action<struct player::open_close,&private: void __cdecl player::stop_and_open(struct player::open_close const &)>::value" (?value@?$mem_fn_action@Uopen_close@player@@$1?stop_and_open@2@AEAAXAEBU12@@z@?$fsm@Vplayer@@h@fsmlite@@2Utype@123@A) referenced in function "public: static void __cdecl fsmlite::fsm<class player,int>::basic_row<3,struct player::open_close,1,struct fsmlite::fsm<class player,int>::mem_fn_action<struct player::open_close,&private: void __cdecl player::stop_and_open(struct player::open_close const &)>::type,&public: static struct fsmlite::fsm<class player,int>::mem_fn_action<struct player::open_close,&private: void __cdecl player::stop_and_open(struct player::open_close const &)>::type fsmlite::fsm<class player,int>::mem_fn_action<struct player::open_close,&private: void __cdecl player::stop_and_open(struct player::open_close const &)>::value,struct fsmlite::fsm<class player,int>::no_guard::type,&public: static struct fsmlite::fsm<class player,int>::no_guard::type fsmlite::fsm<class player,int>::no_guard::value>::process_event(class player &,struct player::open_close const &)" (?process_event@?$basic_row@$02Uopen_close@player@@$00Utype@?$mem_fn_action@Uopen_close@player@@$1?stop_and_open@2@AEAAXAEBU12@@z@?$fsm@Vplayer@@h@fsmlite@@$1?value@456@2U3456@AU3?$no_guard@Uopen_close@player@@@56@$1?7856@2U3856@A@?$fsm@Vplayer@@h@fsmlite@@SAXAEAVplayer@@AEBUopen_close@4@@z)
1>test_player_main.obj : error LNK2019: unresolved external symbol "public: static struct fsmlite::fsm<class player,int>::mem_fn_action<struct player::cd_detected,&private: void __cdecl player::store_cd_info(struct player::cd_detected const &)>::type fsmlite::fsm<class player,int>::mem_fn_action<struct player::cd_detected,&private: void __cdecl player::store_cd_info(struct player::cd_detected const &)>::value" (?value@?$mem_fn_action@Ucd_detected@player@@$1?store_cd_info@2@AEAAXAEBU12@@z@?$fsm@Vplayer@@h@fsmlite@@2Utype@123@A) referenced in function "public: static void __cdecl fsmlite::fsm<class player,int>::basic_row<2,struct player::cd_detected,0,struct fsmlite::fsm<class player,int>::mem_fn_action<struct player::cd_detected,&private: void __cdecl player::store_cd_info(struct player::cd_detected const &)>::type,&public: static struct fsmlite::fsm<class player,int>::mem_fn_action<struct player::cd_detected,&private: void __cdecl player::store_cd_info(struct player::cd_detected const &)>::type fsmlite::fsm<class player,int>::mem_fn_action<struct player::cd_detected,&private: void __cdecl player::store_cd_info(struct player::cd_detected const &)>::value,struct fsmlite::fsm<class player,int>::no_guard::type,&public: static struct fsmlite::fsm<class player,int>::no_guard::type fsmlite::fsm<class player,int>::no_guard::value>::process_event(class player &,struct player::cd_detected const &)" (?process_event@?$basic_row@$01Ucd_detected@player@@$0A@Utype@?$mem_fn_action@Ucd_detected@player@@$1?store_cd_info@2@AEAAXAEBU12@@z@?$fsm@Vplayer@@h@fsmlite@@$1?value@456@2U3456@AU3?$no_guard@Ucd_detected@player@@@56@$1?7856@2U3856@A@?$fsm@Vplayer@@h@fsmlite@@SAXAEAVplayer@@AEBUcd_detected@4@@z)
1>test_player_main.obj : error LNK2019: unresolved external symbol "public: static struct fsmlite::fsm<class player,int>::mem_fn_action<struct player::play,&private: void __cdecl player::start_playback(struct player::play const &)>::type fsmlite::fsm<class player,int>::mem_fn_action<struct player::play,&private: void __cdecl player::start_playback(struct player::play const &)>::value" (?value@?$mem_fn_action@Uplay@player@@$1?start_playback@2@AEAAXAEBU12@@z@?$fsm@Vplayer@@h@fsmlite@@2Utype@123@A) referenced in function "public: static void __cdecl fsmlite::fsm<class player,int>::basic_row<0,struct player::play,3,struct fsmlite::fsm<class player,int>::mem_fn_action<struct player::play,&private: void __cdecl player::start_playback(struct player::play const &)>::type,&public: static struct fsmlite::fsm<class player,int>::mem_fn_action<struct player::play,&private: void __cdecl player::start_playback(struct player::play const &)>::type fsmlite::fsm<class player,int>::mem_fn_action<struct player::play,&private: void __cdecl player::start_playback(struct player::play const &)>::value,struct fsmlite::fsm<class player,int>::no_guard::type,&public: static struct fsmlite::fsm<class player,int>::no_guard::type fsmlite::fsm<class player,int>::no_guard::value>::process_event(class player &,struct player::play const &)" (?process_event@?$basic_row@$0A@Uplay@player@@$02Utype@?$mem_fn_action@Uplay@player@@$1?start_playback@2@AEAAXAEBU12@@z@?$fsm@Vplayer@@h@fsmlite@@$1?value@456@2U3456@AU3?$no_guard@Uplay@player@@@56@$1?7856@2U3856@A@?$fsm@Vplayer@@h@fsmlite@@SAXAEAVplayer@@AEBUplay@4@@z)
1>test_player_main.obj : error LNK2019: unresolved external symbol "public: static struct fsmlite::fsm<class player,int>::mem_fn_action<struct player::play,&private: void __cdecl player::resume_playback(struct player::play const &)>::type fsmlite::fsm<class player,int>::mem_fn_action<struct player::play,&private: void __cdecl player::resume_playback(struct player::play const &)>::value" (?value@?$mem_fn_action@Uplay@player@@$1?resume_playback@2@AEAAXAEBU12@@z@?$fsm@Vplayer@@h@fsmlite@@2Utype@123@A) referenced in function "public: static void __cdecl fsmlite::fsm<class player,int>::basic_row<4,struct player::play,3,struct fsmlite::fsm<class player,int>::mem_fn_action<struct player::play,&private: void __cdecl player::resume_playback(struct player::play const &)>::type,&public: static struct fsmlite::fsm<class player,int>::mem_fn_action<struct player::play,&private: void __cdecl player::resume_playback(struct player::play const &)>::type fsmlite::fsm<class player,int>::mem_fn_action<struct player::play,&private: void __cdecl player::resume_playback(struct player::play const &)>::value,struct fsmlite::fsm<class player,int>::no_guard::type,&public: static struct fsmlite::fsm<class player,int>::no_guard::type fsmlite::fsm<class player,int>::no_guard::value>::process_event(class player &,struct player::play const &)" (?process_event@?$basic_row@$03Uplay@player@@$02Utype@?$mem_fn_action@Uplay@player@@$1?resume_playback@2@AEAAXAEBU12@@z@?$fsm@Vplayer@@h@fsmlite@@$1?value@456@2U3456@AU3?$no_guard@Uplay@player@@@56@$1?7856@2U3856@A@?$fsm@Vplayer@@h@fsmlite@@SAXAEAVplayer@@AEBUplay@4@@z)
1>test_player_main.obj : error LNK2019: unresolved external symbol "public: static struct fsmlite::fsm<class player,int>::mem_fn_action<struct player::pause,&private: void __cdecl player::pause_playback(struct player::pause const &)>::type fsmlite::fsm<class player,int>::mem_fn_action<struct player::pause,&private: void __cdecl player::pause_playback(struct player::pause const &)>::value" (?value@?$mem_fn_action@Upause@player@@$1?pause_playback@2@AEAAXAEBU12@@z@?$fsm@Vplayer@@h@fsmlite@@2Utype@123@A) referenced in function "public: static void __cdecl fsmlite::fsm<class player,int>::basic_row<3,struct player::pause,4,struct fsmlite::fsm<class player,int>::mem_fn_action<struct player::pause,&private: void __cdecl player::pause_playback(struct player::pause const &)>::type,&public: static struct fsmlite::fsm<class player,int>::mem_fn_action<struct player::pause,&private: void __cdecl player::pause_playback(struct player::pause const &)>::type fsmlite::fsm<class player,int>::mem_fn_action<struct player::pause,&private: void __cdecl player::pause_playback(struct player::pause const &)>::value,struct fsmlite::fsm<class player,int>::no_guard::type,&public: static struct fsmlite::fsm<class player,int>::no_guard::type fsmlite::fsm<class player,int>::no_guard::value>::process_event(class player &,struct player::pause const &)" (?process_event@?$basic_row@$02Upause@player@@$03Utype@?$mem_fn_action@Upause@player@@$1?pause_playback@2@AEAAXAEBU12@@z@?$fsm@Vplayer@@h@fsmlite@@$1?value@456@2U3456@AU3?$no_guard@Upause@player@@@56@$1?7856@2U3856@A@?$fsm@Vplayer@@h@fsmlite@@SAXAEAVplayer@@AEBUpause@4@@z)
1> LINK : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance
1>test_player_main.obj : error LNK2001: unresolved external symbol "public: static struct fsmlite::fsm<class player,int>::mem_fn_action<struct player::open_close,&private: void __cdecl player::open_drawer(struct player::open_close const &)>::type fsmlite::fsm<class player,int>::mem_fn_action<struct player::open_close,&private: void __cdecl player::open_drawer(struct player::open_close const &)>::value" (?value@?$mem_fn_action@Uopen_close@player@@$1?open_drawer@2@AEAAXAEBU12@@z@?$fsm@Vplayer@@h@fsmlite@@2Utype@123@A)
1>test_player_main.obj : error LNK2001: unresolved external symbol "public: static struct fsmlite::fsm<class player,int>::mem_fn_action<struct player::open_close,&private: void __cdecl player::close_drawer(struct player::open_close const &)>::type fsmlite::fsm<class player,int>::mem_fn_action<struct player::open_close,&private: void __cdecl player::close_drawer(struct player::open_close const &)>::value" (?value@?$mem_fn_action@Uopen_close@player@@$1?close_drawer@2@AEAAXAEBU12@@z@?$fsm@Vplayer@@h@fsmlite@@2Utype@123@A)
1>test_player_main.obj : error LNK2001: unresolved external symbol "public: static struct fsmlite::fsm<class player,int>::mem_fn_action<struct player::open_close,&private: void __cdecl player::stop_and_open(struct player::open_close const &)>::type fsmlite::fsm<class player,int>::mem_fn_action<struct player::open_close,&private: void __cdecl player::stop_and_open(struct player::open_close const &)>::value" (?value@?$mem_fn_action@Uopen_close@player@@$1?stop_and_open@2@AEAAXAEBU12@@z@?$fsm@Vplayer@@h@fsmlite@@2Utype@123@A)
1>test_player_main.obj : error LNK2001: unresolved external symbol "public: static struct fsmlite::fsm<class player,int>::mem_fn_action<struct player::cd_detected,&private: void __cdecl player::store_cd_info(struct player::cd_detected const &)>::type fsmlite::fsm<class player,int>::mem_fn_action<struct player::cd_detected,&private: void __cdecl player::store_cd_info(struct player::cd_detected const &)>::value" (?value@?$mem_fn_action@Ucd_detected@player@@$1?store_cd_info@2@AEAAXAEBU12@@z@?$fsm@Vplayer@@h@fsmlite@@2Utype@123@A)
1>test_player_main.obj : error LNK2001: unresolved external symbol "public: static struct fsmlite::fsm<class player,int>::mem_fn_action<struct player::play,&private: void __cdecl player::start_playback(struct player::play const &)>::type fsmlite::fsm<class player,int>::mem_fn_action<struct player::play,&private: void __cdecl player::start_playback(struct player::play const &)>::value" (?value@?$mem_fn_action@Uplay@player@@$1?start_playback@2@AEAAXAEBU12@@z@?$fsm@Vplayer@@h@fsmlite@@2Utype@123@A)
1>test_player_main.obj : error LNK2001: unresolved external symbol "public: static struct fsmlite::fsm<class player,int>::mem_fn_action<struct player::play,&private: void __cdecl player::resume_playback(struct player::play const &)>::type fsmlite::fsm<class player,int>::mem_fn_action<struct player::play,&private: void __cdecl player::resume_playback(struct player::play const &)>::value" (?value@?$mem_fn_action@Uplay@player@@$1?resume_playback@2@AEAAXAEBU12@@z@?$fsm@Vplayer@@h@fsmlite@@2Utype@123@A)
1>test_player_main.obj : error LNK2001: unresolved external symbol "public: static struct fsmlite::fsm<class player,int>::mem_fn_action<struct player::pause,&private: void __cdecl player::pause_playback(struct player::pause const &)>::type fsmlite::fsm<class player,int>::mem_fn_action<struct player::pause,&private: void __cdecl player::pause_playback(struct player::pause const &)>::value" (?value@?$mem_fn_action@Upause@player@@$1?pause_playback@2@AEAAXAEBU12@@z@?$fsm@Vplayer@@h@fsmlite@@2Utype@123@A)
1>x64\Release\test.exe : fatal error LNK1120: 7 unresolved externals
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========