博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【原创】使用 VS 编译遇到的一些 error 和 warning(持续更新)
阅读量:6280 次
发布时间:2019-06-22

本文共 1384 字,大约阅读时间需要 4 分钟。

error C2143

1
error C2143: 语法错误 : 缺少“;”(在“类型”的前面)

原因:以“编译为 C 代码(/TC)”方式编译时,没有把变量定义在函数开始的位置。

error LNK2019

1
error LNK2019: 无法解析的外部符号 _abc,该符号在函数 _xyz 中被引用

原因:

当前源文件 xyz 中使用了外部符号 abc ,但是无法找到该符号,原因是没有包含对应的 .lib 库文件。
另外可能的原因:

  • 包含了 .lib 库但是没有将相应的符号 abc 导出
  • 还有一种情况是由于头文件和库文件不匹配造成

【error C2733】

1
error C2733: second C linkage of overloaded function
'wmemchr'
not allowed

原因:针对处于 C++ 模式下的 VC6 以及其它 VS 版本,当进行 ARM 相关编译时应该对要使用的 <wchar.h> 头文件进行 'extern "C++" {}' 处理。

1
2
3
4
5
6
7
8
9
#ifdef __cplusplus
extern
"C"
{
#endif
 
#  include <wchar.h>
 
#ifdef __cplusplus
}
#endif

【error C2440】

1
error C2440: “=”: 无法从“void *”转换为“void **”

原因:一般会在调用 malloc 函数后将其返回值赋值给其他变量时出现,值得注意的是,出现该错误的前提是按照“编译为 C++ 代码 (/TP)”进行编译,如果按照“编译为 C 代码 (/TC)”进行编译则不会出现该错误。

【error C2054】

1
error C2054: 在“inline”之后应输入“(”
原因:这个错误出现在以“ 
编译为 C 代码 (/TC)
 
”进行编译时,内联函数使用 inline 来标示,而没有使用 __inline 标识。可以在 
以“
 
编译为 C 代码 (/TC)
 
”进行编译时,增加宏定义 #define inline __inline 。

【Warning C4251】

1
2
warning C4251:
'AClass::m_variable'
: class
'SomeTemplate<T>'
needs
to have dll-interface to be used by clients of class
'AClass'

原因: 、 

Warning C4996

1
warning C4996:
'strdup'
: The POSIX name
for
this item is deprecated. Instead, use the ISO C++ conformant name: _strdup.
1
warning C4996:
'sprintf'
: This
function
or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.

原因:详细原因需要参考MSDN上的

转载地址:http://tnsva.baihongyu.com/

你可能感兴趣的文章
spring batch中用到的表
查看>>
资源文件夹res/raw和assets的使用
查看>>
UINode扩展
查看>>
LINUX常用命令
查看>>
百度云盘demo
查看>>
概率论与数理统计习题
查看>>
初学structs2,简单配置
查看>>
Laravel5.0学习--01 入门
查看>>
时间戳解读
查看>>
sbin/hadoop-daemon.sh: line 165: /tmp/hadoop-hxsyl-journalnode.pid: Permission denied
查看>>
@RequestMapping 用法详解之地址映射
查看>>
254页PPT!这是一份写给NLP研究者的编程指南
查看>>
《Data Warehouse in Action》
查看>>
String 源码浅析(一)
查看>>
Spring Boot 最佳实践(三)模板引擎FreeMarker集成
查看>>
Fescar 发布 0.2.3 版本,支持 Redis 和 Apollo
查看>>
Google MapReduce到底解决什么问题?
查看>>
CCNP-6 OSPF试验2(BSCI)
查看>>
Excel 2013 全新的图表体验
查看>>
openstack 制作大于2TB根分区自动扩容的CENTOS镜像
查看>>