文档章节

C++ VS2010 error:LNK2005 已经在*.obj中定义

吃一堑消化不良
 吃一堑消化不良
发布于 2015/10/19 17:41
字数 175
阅读 1714
收藏 0

【问题】


>> : error LNK2005: ×××× (★★★★) 已经在 ※※※.obj 中定义

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


【可能的原因】


当第一个使用该头文件的.cpp文件生成.obj的时,int i 已经定义。当另外一个使用这个头文件的.cpp再次[单独]生成.obj的时候,int i 又被定义。然后两个obj被另外一个.cpp也include 这个头的,连接在一起,就会出现重复定义.



【解决】

通常是由于在.h文件里定义了此变量,移动到.cpp文件里即可,并在使用到这个变量的cpp文件中加上extern int ID。

本文转载自:http://yrchen8.blog.163.com/blog/static/55983706201272910352202/

共有 人打赏支持
吃一堑消化不良
粉丝 28
博文 187
码字总数 112458
作品 0
浦东
程序员
私信 提问
VC调用matlab函数mclcppMlfFeval重复定义

问题背景: 用mcc -W cpplib:libname -T link:lib -v matlab_m_file.m 编译.m文件,生成vc可用的动态连接库和.h头文件,相关数据.c文件,和一个.cpp文件(m_to_cpp.cpp),该.cpp文件中.h文件...

长平狐
2012/10/08
187
0
TestEcho在VS2010中选择“Use MFC in a Static Library”编译通不过

Error 1 error LNK2005: "void * __cdecl operator new(unsigned int,char const *,int)" (??2@YAPAXIPBDH@Z) already defined in bufferpool.obj E:\C++ Project\HP-Socket-master\HP-Socke......

iGotogo
2014/11/04
263
0
ACL在VS2008编译链接时出现delete重定义错误

你在,我在引用ACL库写线程函数时,编译链接,出现错误:错误内容为 1>nafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *,int,char const *,int)" (??3@YAXP......

irisjyf
2016/04/28
301
0
already defined in *.obj“符号已定义”问题原理及解决方案

转自:http://hi.baidu.com/loveljc2000/blog/item/619639fc00588bf7fd037f42.html VC6如果想在stdafx.h中定义全局变量,由于该头文件会被include多次,所以,经常会出现以下经典的错误:alr...

长平狐
2012/08/13
1K
0
利用C++开发专用功能库时遇到的符号多重定义问题

在用C++实现某专用功能库(REWS.lib)的过程中,遇到了符号重定义的问题。将问题现象描述如下: 在REWS.lib的编写过程中,参考了第三方开源功能库(名为SP++,主要用于信号处理和数值计算)。...

蓝色雨滴
2018/10/09
87
1

没有更多内容

加载失败,请刷新页面

加载更多

使用 HostAliases 向 Pod /etc/hosts 文件添加条目

默认 hosts 文件内容 通过 HostAliases 增加额外的条目 限制 为什么 Kubelet 管理 hosts文件? 当 DNS 配置以及其它选项不合理的时候,通过向 Pod 的 /etc/hosts 文件中添加条目,可以在 Po...

xiaomin0322
10分钟前
0
0
阿里高级技术专家:研发效能的追求永无止境

背景 大约在5年前,也就是2013年我刚加入阿里的时候,那个时候 DevOps 的风刚吹起来没多久,有家公司宣称能够一天发布几十上百次,这意味着相比传统软件公司几周一次的发布来说,他们响应商业...

阿里云官方博客
13分钟前
0
0
阻止冒泡事件

1、event.isImmediatePropagationStopped() $("#id").click( function(event) { event.isImmediatePropagationStopped()}); 2、event.stopPropagation $("#id").click( function(even......

yan_liu
19分钟前
2
0
shell实例100例《二》

11、题目要求 写一个脚本实现如下功能: 输入一个数字,然后运行对应的一个命令。 显示命令如下: *cmd meau** 1 - date 2 - ls 3 - who 4 - pwd 当输入1时,会运行date, 输入2时运行ls, 以此...

寰宇01
23分钟前
0
0
CentOS开机自启SVN

安装好 svn 服务后,默认是没有随系统启动自动启动的, CentOS 7 的 /etc/rc.d/rc.local 是没有执行权限的, 系统建议创建 systemd service 启动服务 于是查看 systemd 里 svn 的配置文件 /l...

临江仙卜算子
40分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部