1>TEST.obj : error LNK2005: "int a" (?a@@3HA) 已经在 data.obj 中定义
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1>TEST.obj : error LNK2005: "int a" (?a@@3HA) 已经在 data.obj 中定义相关的知识,希望对你有一定的参考价值。
已经困扰我好几天了,具体是这样的:
data.CPP
#include <stdio.h>
#include "data.h"
void add()
c = a + b;
printf("a + b = %d\n", c);
getchar();
data.h
int a = 20;
int b = 10;
int c;
TEST.CPP
#include <stdio.h>
#include "data.h"
void add()
c = a + b;
printf("a + b = %d\n", c);
getchar();
1>------ 已启动生成: 项目: TEST, 配置: Debug Win32 ------
1>TEST.obj : error LNK2005: "void __cdecl add(void)" (?add@@YAXXZ) 已经在 data.obj 中定义
1>TEST.obj : error LNK2005: "int a" (?a@@3HA) 已经在 data.obj 中定义
1>TEST.obj : error LNK2005: "int b" (?b@@3HA) 已经在 data.obj 中定义
1>TEST.obj : error LNK2005: "int c" (?c@@3HA) 已经在 data.obj 中定义
1>c:\users\administrator\documents\visual studio 2013\Projects\TEST\Debug\TEST.exe : fatal error LNK1169: 找到一个或多个多重定义的符号
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
不好意思,我贴错了,TEST。CPP应该是这样的:
#include
#include "data.cpp"
int main(void)
add();
getchar();
return 0;
不好意思,我贴错了,TEST。CPP应该是这样的:
#include
#include "data.cpp"
int main(void)
add();
getchar();
return 0;
我知道贴错了,而且我也能猜出main怎么写。。不过我回答的跟这些都无关哦
还有main里只要包含.h就可以了,不应该包含cpp
这个我清楚,但是包含.cpp也没有错啊,最让我郁闷的是提示重复定义int a, int b, int c , 明明我只引用了一次啊。
追答http://bbs.csdn.net/topics/200084086
看三楼的解释
windows error LNK2019
参考技术A error LNK2001: 无法解析的外部符号 __imp_htonserror LNK2001: 无法解析的外部符号 __imp_ntohl
error LNK2001: 无法解析的外部符号 __imp_ntohs
error LNK2019: 无法解析的外部符号 in6addr_any
error LNK2001: 无法解析的外部符号 __imp_htonl
error LNK2019: 无法解析的外部符号 in6addr_loopback
error LNK2019: 无法解析的外部符号 D3D11CreateDevice
error LNK2019: 无法解析的外部符号 __imp_timeKillEvent
error LNK2019: 无法解析的外部符号 __imp_timeBeginPeriod
error LNK2019: 无法解析的外部符号 __imp_timeEndPeriod
error LNK2019: 无法解析的外部符号 __imp_timeSetEvent
error LNK2019: 无法解析的外部符号 __imp_timeGetTime
error LNK2019: 无法解析的外部符号 __imp_CertOpenStore
error LNK2019: 无法解析的外部符号 __imp_CertCloseStore
error LNK2019: 无法解析的外部符号 __imp_CertEnumCertificatesInStore
error LNK2019: 无法解析的外部符号 __imp_CertFindCertificateInStore
error LNK2019: 无法解析的外部符号 __imp_CertDuplicateCertificateContext
error LNK2019: 无法解析的外部符号 __imp_CertFreeCertificateContext
error LNK2019: 无法解析的外部符号 __imp_CertGetCertificateContextProperty
error LNK2019: 无法解析的外部符号 InitializeSecurityContextA
error LNK2019: 无法解析的外部符号 AcquireCredentialsHandleA
error LNK2019: 无法解析的外部符号 __imp_FreeCredentialsHandle
error LNK2019: 无法解析的外部符号 CompleteAuthToken
error LNK2019: 无法解析的外部符号 __imp_DeleteSecurityContext
error LNK2019: 无法解析的外部符号 MoInitMediaType
error LNK2019: 无法解析的外部符号 MoFreeMediaType
error LNK2019: 无法解析的外部符号 CLSID_CWMAudioAEC
error LNK2019: 无法解析的外部符号 IID_IMediaObject
error LNK2019: 无法解析的外部符号 IID_IMediaBuffer
error LNK2019: 无法解析的外部符号 IID_ICreateDevEnum
error LNK2019: 无法解析的外部符号 IID_IBaseFilter
error LNK2019: 无法解析的外部符号 IID_IAMExtDevice
error LNK2019: 无法解析的外部符号 IID_IAMStreamConfig
error LNK2019: 无法解析的外部符号 IID_IAMVideoControl
error LNK2019: 无法解析的外部符号 IID_IGraphBuilder
error LNK2019: 无法解析的外部符号 IID_IMemInputPin
error LNK2019: 无法解析的外部符号 IID_IPin
error LNK2019: 无法解析的外部符号 IID_IMemAllocator
error LNK2019: 无法解析的外部符号 IID_IEnumMediaTypes
error LNK2019: 无法解析的外部符号 IID_IEnumPins
error LNK2019: 无法解析的外部符号 __imp_RegQueryValueExW
error LNK2019: 无法解析的外部符号 __imp_RegCloseKey
error LNK2019: 无法解析的外部符号 __imp_RegOpenKeyExW
error LNK2019: 无法解析的外部符号 __imp_DeregisterEventSource
error LNK2019: 无法解析的外部符号 __imp_RegisterEventSourceW
error LNK2019: 无法解析的外部符号 __imp_ReportEventW
error LNK2019: 无法解析的外部符号 __imp_CryptAcquireContextW
error LNK2019: 无法解析的外部符号 __imp_CryptReleaseContext
error LNK2019: 无法解析的外部符号 __imp_CryptDestroyKey
error LNK2019: 无法解析的外部符号 __imp_CryptSetHashParam
error LNK2019: 无法解析的外部符号 __imp_CryptGetProvParam
error LNK2019: 无法解析的外部符号 __imp_CryptGetUserKey
error LNK2019: 无法解析的外部符号 __imp_CryptExportKey
error LNK2019: 无法解析的外部符号 __imp_CryptDecrypt
error LNK2019: 无法解析的外部符号 __imp_CryptCreateHash
error LNK2019: 无法解析的外部符号 __imp_CryptDestroyHash
error LNK2019: 无法解析的外部符号 __imp_CryptSignHashW
error LNK2019: 无法解析的外部符号 __imp_CryptEnumProvidersW
error LNK2019: 无法解析的外部符号 __imp_CreateRectRgn
error LNK2019: 无法解析的外部符号 __imp_GetRgnBox
error LNK2019: 无法解析的外部符号 __imp_DeleteObject
error LNK2001: 无法解析的外部符号 __imp_DeleteObject
error LNK2019: 无法解析的外部符号 __imp_GetCurrentObject
error LNK2019: 无法解析的外部符号 __imp_GetObjectW
error LNK2019: 无法解析的外部符号 __imp_CreateCompatibleDC
error LNK2001: 无法解析的外部符号 __imp_CreateCompatibleDC
error LNK2019: 无法解析的外部符号 __imp_SelectObject
error LNK2001: 无法解析的外部符号 __imp_SelectObject
error LNK2019: 无法解析的外部符号 __imp_BitBlt
error LNK2001: 无法解析的外部符号 __imp_BitBlt
error LNK2019: 无法解析的外部符号 __imp_DeleteDC
error LNK2001: 无法解析的外部符号 __imp_DeleteDC
error LNK2019: 无法解析的外部符号 __imp_GetDeviceCaps
error LNK2001: 无法解析的外部符号 __imp_GetDeviceCaps
error LNK2001: 无法解析的外部符号 __imp_GetDeviceCaps
error LNK2019: 无法解析的外部符号 __imp_CreateDIBSection
以上是关于1>TEST.obj : error LNK2005: "int a" (?a@@3HA) 已经在 data.obj 中定义的主要内容,如果未能解决你的问题,请参考以下文章
了解 Visual Studio 2010 中的此错误 (LNK 2019)
error LNK2019: 无法解析的外部符号 WinMain,error LNK2001: 无法解析的外部符号 WinMain