1、出现c++/WinRT c3861的编译错误在于你所用的版本vs2017太低了,(如果使用visual studio 2017 version 15.8 及以后版本,不会出现此问题),所以第一种方法是可以通过升级visual studio 2017 到最新版,解决之。可参考如下经验升级vs2017
2、当然还有一种保持旧版不变,通过设置工程属性解决的方法。右击工程,打开属性配置对话框,设置c/c++->语言->符合符合 ,设置为“否”
3、设置c/c++->命令行,在最下面“其他选项”中,如果出现/permissive- ,将其删除,改为%(AdditionalOptions) /bigobj
4、设置了以上两个项目后,再次编译c++/WinRT工程,原编译错误c3861应该问题就解决了。