LNK1169 LNK2005错误
当我们在visual Studio 中编译时,经常会发生这两个错误,通常这两个错误是同时产生的。
产生原因
找到一个或多个多重定义的符号
生成因一个或多个符号的多个定义而失败。 该错误之前为错误 LNK2005。
通常情况下,是因为不正确的使用导致的 变量或者函数名重名
解决方案:
- 定位到错误的地点
在LNK2005的错误的说明中可以找到
错误 LNK2005 “private: static class GameMap * GameMap::ga_me” (?ga_me@GameMap@@0PEAV1@EA) 已经在 bigHomework.obj 中定义 Project1 …\Main.obj 1 - 删除部分代码,找到重定义所在
因为一般情况下可能看不出来,所以尽量减少对应的变量名或者函数名,直到正确编译。
提供一个我遇到的情况:
class GameMap {
private:static GameMap* ga_me;char gamemap[21][21];GameMap() { memset(gamemap, 0, sizeof(gamemap)); }~GameMap() { if (ga_me != NULL)delete ga_me; }
public:staticGameMap* getInstance() {if (ga_me == NULL) {ga_me = new GameMap();}return ga_me;}
};
GameMap* GameMap::ga_me = NULL;//去掉这句话就是正确的
错误说明:
当初始化类中的static变量是,必须在类外指定值。
在单例模式中初始化GameMap* GameMap::ga_me = NULL;
时算是一次对变量名的定义
在ga_me = new GameMap();
也当做了一次对变量名的重新定义。
因此,就产生了这两个错误。
我的改正办法是:
直接删掉GameMap* GameMap::ga_me = NULL;
因为在指针没有显式初始化的情况下,默认的初始化为NULL
,程序能够正确。
LNK1169 LNK2005错误相关推荐
- VC编程中经常能遇到LNK2005错误
昨天开始修改的程序,主要添加了OpenCV和GSL库,想把粒子滤波给实现了,出现很多没碰到过的错误! 使用VC编程中经常能遇到LNK2005错误--重复定义错误,其实LNK2005错误并不是一个很难解 ...
- [转]在Visual C++中以错误的顺序链接 CRT 库和 MFC 库时出现 LNK2005 错误
症状 当 C 运行时 (CRT) 库和 Microsoft 基础类 (MFC) 库的链接顺序有误时,可能会出现以下 LNK2005 错误之一: nafxcwd.lib... 当 C 运行时 (CRT) ...
- c++ error LNK2005......错误解决方法
错误如图 解决方案: 一 今天被error LNK2005这个问题折腾了好久好久,从网上找了一些文章看了看,大多数都说是 头文件包含比较混乱,同一个文件被多个文件包含了:还有的说是某两个.dll文件被 ...
- error LNK2005:错误改正方法
.h文件中除了包含函数的声明以外,如果还有子函数的声明以及全局变量的定义,前面必须加上关键字"static",因为当其他的函数调用该子函数或者变量的时候,是属于外部变量. 转载于: ...
- 错误:error LNK2005 解决方法
编译时链接错误如下: MySAX2Handler.obj : error LNK2005:"public: __thiscall AttributeDetails::AttributeDet ...
- VC++的链接错误LNK2005
VC++的链接错误LNK2005 spoons 2006-09-26 11:14:28 被这个error折磨了近一周,虽然每次出现的位置和原因都不尽相同,但都是 LIBCD.lib(crt0da ...
- error:LNK2005 函数已经在*.obj中定义
出现上面的错误,只要原因有如下几个: 1.头文件的重复包含 包含的头文件中含有变量.函数.类的定义,在其他使用的地方多次包含,造成重复包含,产生LNK2005错误, 有两种解决方法: 1)使用宏 在头 ...
- LNK2005之解决办法
造成LNK2005错误主要有以下几种情况: 1.重复定义全局变量.可能存在两种情况: A.对于一些初学编程的程序员,有时候会以为需要使用全局变量的地方就可以使用定义申明一下.其实这是错误的,全局 ...
- fatal error LNK1169: one or more multiply defined symbols found解决方法
以下为转载网上的经典分析文章,借鉴下: 不过有些还是不很明白,欢迎交流! fatal error LNK1169: one or more multiply defined symbols found ...
- 关于VS “error LNK2005: 已经在 .obj 中定义“
1>OpenCVFi.obj : error LNK2005: "class cv::Point_<double> __cdecl reverse(class cv::Po ...
最新文章
- iOS 10道细节面试题
- android 根据文本计算行数,ios 获取Text行数和每行显示的内容
- 【Android 异步操作】手写 Handler ( 循环者 Looper | Looper 初始化 | Looper 遍历消息队列 MessageQueue )
- Password-less logins with OpenSSH
- mysql memory_MySQL MEMORY 引擎及性能比对
- 计算机机房安全风险防控规范,中心机房安全风险分析一览表
- 复习Java字节流_字符流使用及案例
- Verilog实现3分频实例
- php mysql 网站_实验六:MYSQL+PHP的网站搭建
- 外表加载oracle,opengauss外部表插件——oracle_fdw
- linux查询文件存储格式,蜗牛哥:Linux中查看文件内容,5种常用查看方式
- hdu 5335 Walk Out(bfs+斜行递推) 2015 Multi-University Training Contest 4
- 签到系统实验报告_实验报告评分标准
- 【YY手机】用AVR单片机制作手机系列教程-制作篇
- MATLAB的semilogy函数的理解
- java el表达式 if else_EL表达式 JSTL 三层架构
- 百度地图API(WEB端/JavaScript API)--实际运用与扩展
- vue项目添加百度统计及设置埋点
- jsf的verbatim标签
- 十个Python图像处理工具,不可不知!