VS C++ error LNK2005 1169报错

本文介绍了解决LNK2005和LNK1169错误的方法,这两种错误通常出现在编译过程中,当尝试将同一函数定义多次时出现。通过在.h文件中的每个函数前添加static关键字可以有效解决此问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

记录一下报错及解决方法:

问题产生:

写了一个.h文件,.h里写了函数及实现.在另一个文件中引用该.h文件"include xxx.h".

编译过程中遇到了如下报错:

LNK2005 "..........................................."已经在xx.lib(xxxxx.obj)中定义

LNK1169 找到一个或多个多重定义的符号

解决方法:

搜索了很多帖子,确定不是头文件引用混乱等多次引用问题.最终是在.h文件中的每一个函数前加上static解决.原因可能是:引用.h文件后,.h文件里的函数默认为全局函数,加上static关键字后声明函数为局部函数,作用域只限定在.h文件中.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值