This does not work for me (MSVC 2019). I get these warnings and errors:
These are linking errors and according to the unresolved names it probably lacks of the runtime library. What happens when you add msvcrt.lib manually to the created VS project file? You may additionally add msvcprt.lib.
I have seen your recent changes that promise to build the plugin also with MSVC. I tried it out, but on 2 different PCs (on one I never tried to compile the plugin before) I get the same linking errors:
3> Creating library D:/FreeCAD-build/src/Tools/plugins/widget/Release/FreeCAD_widgets.lib and object D:/FreeCAD-build/src/Tools/plugins/widget/Release/FreeCAD_widgets.exp
3>customwidgets.obj : error LNK2019: unresolved external symbol "void * __cdecl operator new(unsigned __int64)" (??2@YAPEAX_K@Z) referenced in function "public: __cdecl Gui::ActionSelector::ActionSelector(class QWidget *)" (??0ActionSelector@Gui@@QEAA@PEAVQWidget@@@Z)
3>plugin.obj : error LNK2001: unresolved external symbol "void * __cdecl operator new(unsigned __int64)" (??2@YAPEAX_K@Z)
3>mocs_compilation_Release.obj : error LNK2001: unresolved external symbol "void * __cdecl operator new(unsigned __int64)" (??2@YAPEAX_K@Z)
3>customwidgets.obj : error LNK2019: unresolved external symbol "void __cdecl operator delete(void *,unsigned __int64)" (??3@YAXPEAX_K@Z) referenced in function "int `public: __cdecl Gui::ActionSelector::ActionSelector(class QWidget *)'::`1'::dtor$1" (?dtor$1@?0???0ActionSelector@Gui@@QEAA@PEAVQWidget@@@Z@4HA)
3>plugin.obj : error LNK2001: unresolved external symbol "void __cdecl operator delete(void *,unsigned __int64)" (??3@YAXPEAX_K@Z)
3>mocs_compilation_Release.obj : error LNK2001: unresolved external symbol "void __cdecl operator delete(void *,unsigned __int64)" (??3@YAXPEAX_K@Z)
3>customwidgets.obj : error LNK2001: unresolved external symbol __std_terminate
3>customwidgets.obj : error LNK2019: unresolved external symbol _CxxThrowException referenced in function __catch$?append@?$QList@VQString@@@@QEAAXAEBVQString@@@Z$0
3>plugin.obj : error LNK2001: unresolved external symbol _CxxThrowException
3>customwidgets.obj : error LNK2001: unresolved external symbol __CxxFrameHandler4
3>plugin.obj : error LNK2001: unresolved external symbol __CxxFrameHandler4
3>mocs_compilation_Release.obj : error LNK2001: unresolved external symbol __CxxFrameHandler4
3>customwidgets.obj : error LNK2001: unresolved external symbol __GSHandlerCheck
3>mocs_compilation_Release.obj : error LNK2001: unresolved external symbol __GSHandlerCheck
3>customwidgets.obj : error LNK2001: unresolved external symbol __GSHandlerCheck_EH4
3>customwidgets.obj : error LNK2019: unresolved external symbol __security_check_cookie referenced in function "public: class QString __cdecl QString::arg<class QString &,class QString const &>(class QString &,class QString const &)const " (??$arg@AEAVQString@@AEBV1@@QString@@QEBA?AV0@AEAV0@AEBV0@@Z)
3>mocs_compilation_Release.obj : error LNK2001: unresolved external symbol __security_check_cookie
3>customwidgets.obj : error LNK2019: unresolved external symbol memcpy referenced in function "private: void __cdecl QList<class QListWidgetItem *>::node_copy(struct QList<class QListWidgetItem *>::Node *,struct QList<class QListWidgetItem *>::Node *,struct QList<class QListWidgetItem *>::Node *)" (?node_copy@?$QList@PEAVQListWidgetItem@@@@AEAAXPEAUNode@1@00@Z)
3>plugin.obj : error LNK2001: unresolved external symbol memcpy
3>customwidgets.obj : error LNK2001: unresolved external symbol "const type_info::`vftable'" (??_7type_info@@6B@)
3>plugin.obj : error LNK2001: unresolved external symbol "const type_info::`vftable'" (??_7type_info@@6B@)
3>customwidgets.obj : error LNK2019: unresolved external symbol __security_cookie referenced in function "public: class QString __cdecl QString::arg<class QString &,class QString const &>(class QString &,class QString const &)const " (??$arg@AEAVQString@@AEBV1@@QString@@QEBA?AV0@AEAV0@AEBV0@@Z)
3>mocs_compilation_Release.obj : error LNK2001: unresolved external symbol __security_cookie
3>customwidgets.obj : error LNK2001: unresolved external symbol _fltused
3>mocs_compilation_Release.obj : error LNK2001: unresolved external symbol _fltused
3>plugin.obj : error LNK2001: unresolved external symbol _purecall
3>mocs_compilation_Release.obj : error LNK2019: unresolved external symbol "void __cdecl operator delete(void *)" (??3@YAXPEAX@Z) referenced in function "void __cdecl `qt_plugin_instance'::`2'::`dynamic atexit destructor for '_instance''(void)" (??__F_instance@?1??qt_plugin_instance@@9@YAXXZ)
3>mocs_compilation_Release.obj : error LNK2019: unresolved external symbol atexit referenced in function qt_plugin_instance
3>mocs_compilation_Release.obj : error LNK2019: unresolved external symbol _Init_thread_header referenced in function qt_plugin_instance
3>mocs_compilation_Release.obj : error LNK2019: unresolved external symbol _Init_thread_footer referenced in function qt_plugin_instance
3>mocs_compilation_Release.obj : error LNK2019: unresolved external symbol strcmp referenced in function "public: virtual void * __cdecl CustomWidgetPlugin::qt_metacast(char const *)" (?qt_metacast@CustomWidgetPlugin@@UEAAPEAXPEBD@Z)
3>mocs_compilation_Release.obj : error LNK2019: unresolved external symbol _Init_thread_epoch referenced in function qt_plugin_instance
3>mocs_compilation_Release.obj : error LNK2019: unresolved external symbol _tls_index referenced in function qt_plugin_instance
3>LINK : error LNK2001: unresolved external symbol _DllMainCRTStartup
3>D:\FreeCAD-build\src\Tools\plugins\widget\Release\FreeCAD_widgets.dll : fatal error LNK1120: 21 unresolved externals