36 1 C++-低版本升级到VS2019项目时遇到的问题

1."const char *" 类型的实参与 “char *” 类型的形参不兼容错误的解决方法
解决方法:(3)
1.在中依次点击项目->属性->C/C+±>语言->符合模式,将原来的“是”改为“否”即可 。
2.在声明变量 char* 时改成 const char *即可 。
3.
//1.const char* ->char *const char *pcc = "goodidea";char *pc = new char[strlen(pcc)+1];strcpy(pc, pcc);//2.const char* ->char *const char* aa = "this is a const string.";char* bb = const_cast(aa);//3.char* ->const char*const char* pcc;char* pc="abcde";pcc=pc;
2.“”:“”类型重定义
C++.h 中的和time.h 中的 结构定义重复了 ,同时两个头文件中的条件编译条件不同,所以造成结构重复定义,简单快速见效的解决方法就是注释.h 头文件中的定义.
3.C1189 #error:MFCwith /MD[d] (CRT dll )MFCdll .#or do not use /MD[d] (编译源文件 src\HX101.cxx) law C:\ Files (x86)\ \2019\\VC\Tools\MSVC\14.29.30133\\\afx.h 24
在项目属性页中 选择“常规” 在“MFC的使用”中将“使用标准库”改为“在共享DLL中使用MFC” 。
4.C2664 “int M“const char [15]”转换为“”
强制转换
5.E0167 "const char*" 类型的实参与 "const char *" 类型的形参不兼容
TEXT("TEXT")
强制转换
6.C2664 "char []" 转换为""
强制转换()
7.从“WCHAR [260]”转换为“const char *”
8.引用dll报错:error C2491-不允许静态数据成员 的定义
// C2491.cpp
//with: /c
//
void () funcB() {}// C2491
【36 1C++-低版本升级到VS2019项目时遇到的问题】//
void () funcB();// OK

36 1  C++-低版本升级到VS2019项目时遇到的问题

文章插图
9.d8016 /ZI和/Gy-命令行不兼容
10. 传递给 .Build..Link 任务的参数无效 。
11.C2039 _file 不是的成员
获取文件长度:
nLen = (->_file);
nLen = ftell();
12.无法解析外部符号 @4
# (lib,".lib")
13. 无法解析的外部符号:":const ::" (?@@@@@B)
14.设置中“不同选项” 这个要去掉,不然会造成工程设置后无法保存已做的设置 。
15.元素具有无效值“是(/DEBUG)”
16:WId与HWND 的转换
HWND hwnd =(HWND)->winId();
17错误C2664:'int (,,...)':无法将参数1从'char [15]'转换为''
18.无法连接@4
如19在属性页->链接器->输入中 添加.lib
19.无法解析的外部符号
1.h文件
h文件设置:C/C++ ->常规->附加包含目录:
2.lib文件
lib导入设置: 链接器->输入->附加依赖项:
36 1  C++-低版本升级到VS2019项目时遇到的问题

文章插图
给lib一个搜索路径:链接器->常规->附加库目录:
3.dll文件
20.D8036 不允许有多个源文件
c/C++->输出文件:对象文件名只能是目录,
C/C++ ->输出文件:
ASM$()\temp\$()\
对象文件名 $()\temp\$()\
程序数据库文件名$()\temp\$()\
21 C1189
1.工程-》属性-》C/C++-》代码生成-》运行时库:修改成: 多线程调试(/MTd); (版本也修改成 多线程(/MT)
2.工程-》属性-》常规-》MFC的使用:修改为:在静态库中使用 MFC
3.C/C++-》预处理
22.文件相对路径的设置
是以.文件为基准的 。
23.不能实例化抽象类
父类是A ;子类是B;
需要实现父类A中所有纯虚函数 。
24.用VS创建QT项目时,提示没有加载入QT的库 。
设置中->C/C++->:附加包含目录:
除了自定义的,还要加上从父类继承的,%()
此处包含的是头文件 。
25.无法打开包括文件:“.h”,no such file or