c++ error LNK2005......错误解决方法

当遇到C++的LNK2005错误,通常是由于全局变量重复定义、头文件包含混乱或第三方库冲突导致。解决方法包括在函数前添加`static`关键字限制其作用域,正确使用`extern`声明全局变量,避免头文件重复包含,以及调整链接库的顺序。理解错误原因并采取相应措施是解决这类问题的关键。
摘要由CSDN通过智能技术生成

错误如图

解决方案:

今天被error LNK2005这个问题折腾了好久好久,从网上找了一些文章看了看,大多数都说是 头文件包含比较混乱,同一个文件被多个文件包含了;还有的说是某两个.dll文件被忽略还是包含了什么的,但是试了这两个方法都不行,因为我新写的函数只被一个文件包含了,而且我也没改过任何的.dll文件。后来尝试了很多方法,这个问题终于被解决了(只要在你想包含的文件中的每个函数前加一个static,声明其为局部函数即可,对于被包含的文件中的全局变量也是加一个static即可),方法如下:

我的运行平台是 VS2005 vc++.net (CRL),我使用了windows form,想在form1中点击某个按钮时调用一个已经写好的c++程序。

起初我的被包含的文件为abc.cpp,并且已经被包含中form1.h中(#include "abc.cpp")

abc.cpp中的函数fun1定义如下:

int fun1

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值