1. 项目无法打开原文件“io.h”、"time.h"、“std没有成员xxx"、“string.h” 等大量报错。
解决方案:确保软件安装ok,并且测试hello world是没问题的。
则修改、测试下面两个项目设置:
第一:使用Windows运行时扩展,修改为:是/ZW
第二:添加 VCSPackages 文件目录到 :其他#using 指令 设置中。
2. E1696 命令行错误: 无法打开 元数据 文件 “platform.winmd”
以上两个错误一般出现在对更换VS版本时,项目配置不匹配。当成功消除错误后,后面再打开类似项目就不会出现上面大量的标准库错误了。
3. /ZW”和“/MTd”命令行选项不兼容
解决方案:使用Windows运行时扩展,修改为:否。或者修改:代码生成/运行库 模式为其他选项。
4. LINK2019 无法解析的外部符号 xxx(), 该符号在 xxx中被引用。
原因:缺少这个函数xxx()的声明或定义,这个被引用的xxx() 我猜你们的大概率是个重载函数,与已有的同名函数有不同的形参个数。所以咱们就检查一下看是不是使用的地方写错了,还是说这个重载函数的声明或定义缺失了。
5:无法解析的符号
两种情况:
1:某个具体函数无法解析:直接将函数定义写好就可以
2:模板类相关构造函数 无法解析:区分构造函数在定义时,是否基础父类相关模板。既要写该构造函数的两个版本,一个有继承父类的构造函数,一个没有基础父类的构造函数。
实践如下:
//一个模板类的构造函数的声明:
template <int structdim2, int dim2, int spacedim2>
TriaAccessor(const TriaAccessor<structdim2, dim2, spacedim2> &);
//没有继承的构造函数
template <int dim, int spacedim>
template <int structdim2, int dim2, int spacedim2>
CellAccessor<dim, spacedim>::CellAccessor(
const TriaAccessor<structdim2, dim2, spacedim2> &)
{
}
//有继承的构造函数
template <int dim, int spacedim>
inline CellAccessor<dim, spacedim>::CellAccessor(
const TriaAccessor<dim, dim, spacedim> &cell_accessor)
: TriaAccessor<dim, dim, spacedim>(
static_cast<const TriaAccessor<dim, dim, spacedim> &>(cell_accessor))
{}