C语言:在VS环境下因#include *.c/.cpp所产生的LNK2005及LNK1169错误及解决办法

C语言:在VS环境下因#include<*.c/.cpp>所产生的LNK2005及LNK1169错误及解决办法

前言(可跳过)

今天在编写某个数据处理程序时,因为代码行数过多影响阅读和编写,所以想将一部分基础处理函数移至另一文件中。理想很丰满,现实很骨感,我将部分函数从a.cpp(化名)移至b.cpp(化名),然后在a.cpp的开头加上#include<b.cpp>,以及相应的extern 函数名(变量);后,进行调试,就立刻出错了,分别是LNK2005及LNK1169。检查了半天,根本就没有发现什么错误,也没有变量重复定义,真是坑人。

问题描述

在文件引用中含有#include<.cpp或者.c文件>,并且被引用文件中含有函数。编译器在链接时产生LNK2005及LNK1169错误,某函数已经在*.obj中定义以及找到一个或多个多重定义的符号。

程序部分情况:
直接引用(包含).c或.cpp文件
情况1
且两者处于同一项目内(废话)
清况2
且被包含文件中有函数
情况3
编译器错误部分情况:
LNK1169

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值