LNK1169
来源:互联网 发布:少年西游记源码 编辑:程序博客网 时间:2024/06/15 20:33
这是一个连接时候检查到的错误,大概有下面几种情况会引起这个错误。
1.变量定义:
A.h中声明了变量a(非类成员变量),A.cpp是A.h中所声明的类的实现源代码,B.cpp是主程序文件,包含头文件 A.h。编译能够通过,但链接时出了”error LNK1169: 找到一个或多个多重定义的符号“的错误。这是因为B.cpp包含头文件 A.h后,相当于又定义了变量a。
解决办法是在A.h中的变量声明前加上extern 关键字,表示这里只是声明不定义,然后在A.cpp中不加extern关键字定义这个变量,编译链接顺利通过。
2.函数定义:
在A.h中定义函数func:
void func()
{
…
}
B.cpp中包含头文件 A.h,链接时也会出现相同的错误。
解决办法有两个,一种是添加inline关键字,这样实际上是在调用处展开函数体代码,代替函数调用;另一种办法是将函数实现放在A.cpp中,这样就不会出现重定义问题。
0 0
- LNK1169
- VS链接错误:LNK1169
- 为什么会出现LNK2005,LNK1169错误
- 为什么会出现LNK2005,LNK1169错误
- LNK2005 LNK1169 Error and LNK4098 Warning
- 解决出现fatal error LNK1169: one or more multiply
- 解决出现fatal error LNK1169: one or more multiply
- 解决出现fatal error LNK1169: one or more multiply
- fatal error LNK1169: one or more multiply defined symbols found
- LNK2005 LNK1169 Error and LNK4098 Warning LINK : warning LNK4075:
- 错误:“LNK1169找到一个或者多个重定义的符号”
- fatal error LNK1169: one or more multiply defined symbols found
- error LNK1169 : 找到一个或多个重定义的符号
- fatal error LNK1169: 找到一个或多个多重定义的符号[转]
- LNK2005:symbol already defined和LNK1169:one or more multiply defined symbols found 解决办法
- LNK2005:symbol already defined和LNK1169:one or more multiply defined symbols found 解决办法
- fatal error LNK1169: 找到一个或多个多重定义的符号
- fatal error LNK1169: 找到一个或多个多重定义的符号
- oracle中rowid简介
- 委托
- Android动态控制布局中view的起点
- java创建临时文件
- 关于java的回调的一个例子
- LNK1169
- 通过live555实现H264 RTSP直播
- 基础数论学习笔记-----------逆元【除法取模运算的关键】
- 跨域请求方式三:window.name 跨域实现原理
- MySQL分页拉取和客户端数据重复问题
- java 获取当前类文件的字符集编码
- 人脸检测一个小综述
- 洛谷 P1433 吃奶酪
- u