mac平台编译.node文件时遇no template named 'remove_cv_t'的错误提示
客户案例:
某客户集成了会议Electron Sdk,在编译.node文件时提示no template named 'remove_cv_t'。
原因分析:
造成原因是remove_cv_t从c++14才开始支持,而node依赖文件binding.gyp中指定的c++版本还是c++11。
解决方案:
首先,建议node版本和electron版本要匹配安装,前往node官网下载electron版本建议的node版本(配套关系参见https://www.electronjs.org/zh/docs/latest/tutorial/electron-timelines)。其次,如果本问题依然存在,可从如下两种解决方案选择一种进行修复:
1.到对应报错文件v8-internal.h中,将remove_cv_t修改为remove_cv。
2.将binding.gyp中“OTHER_CPLUSPLUSFLAGS”的配置项“-std=c++11”修改为“-std=c++14”。