文档章节

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

吃一堑消化不良
 吃一堑消化不良
发布于 2015/10/19 17:41
字数 175
阅读 1606
收藏 0
点赞 0
评论 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
浦东
程序员
由于引用MFC库导致DllMain重复定义问题解决 error LNK2005

最近在做一个项目,有个工程叫COMMUtil(DLL工程).原本该项目中用的都是STL中的类。现在由于用了一个第三方的一个日志工具,里面用到了CString等MFC提供的类,所有要加上对MFC的引用。 将原...

西昆仑
2012/04/18
0
1
LNK2005错误——重复定义错误

造成LNK2005错误主要有以下几种情况: 1.重复定义全局变量。 可能存在两种情况: A、对于一些初学编程的程序员,有时候会以为需要使用全局变量的地方就可以使用定义申明一下。其实这是错误的...

Amamatthew
2014/06/23
0
0
初次使用VS2010基于C++开发项目碰到的问题及解决方法

1、将过去的工程用VS2010打开的时候。你有可能会遇到一大堆的警告:warning C4996。 比如:warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintfs ...

mj4738
2013/05/01
0
0
关于形如--error LNK2005: xxx 已经在 msvcrtd.lib ( MSVCR90D.dll ) 中定义--的问题分析解决

关于形如--error LNK2005: xxx 已经在 msvcrtd.lib ( MSVCR90D.dll ) 中定义--的问题分析解决 转自:http://hi.baidu.com/qinfengxiaoyue/item/ff262ccfb53b4c2ba0b50a89 引自:http://blog......

老张他爹945
05/10
0
0
QT加载muPDF静态库的问题和解决(导入C语言静态库,QT的运行时库设定)

首先下载muPDF,找到mupdf-1.2-source.zip下载解压. 进入win32目录,打开mupdf工程(vs2008及以上会提示转换,转换后自动产生.sln工程) 默认情况下没有v8引擎,v8版工程编不过,可以忽略. 确保mup...

龍禳
2013/05/14
0
0
VS2010/MFC编程入门教程之目录和总结(鸡啄米)

鸡啄米的这套VS2010/MFC编程入门教程到此就全部完成了,虽然有些内容还未涉及到,但帮助大家进行VS2010/MFC的入门学习业已足够。以此教程的知识为基础,学习VS2010/MFC较为深入的内容已非难事...

weixin_40647819
05/23
0
0
一个通用的makefile写法,自动推导文件的依赖关系

今天看了一天的makefile的写法,东拼西凑,好不容易写出了一个makefile,颇有成就感,记录下来,以备温习之用。 假设有两个头文件目录 header1,header2;两个cpp文件目录,src1,src2,一个lib目...

AlphaJay
2010/11/23
0
0
深入探讨vc下C++模板编译模型

写过模板的朋友也许知道,一个模板程序,当编译器看到模板定义时并不立即产生代码,只有在我们用到模板,并对其实例化的时候,才会产生特定的实例。此时,编译器就要访问定义模板的源代码了。...

zjushawnelee88
2013/06/19
0
0
浅入深出深入理解C中的extern意图

extern可以置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。另外,extern也可用来进行链接指定。 extern 变量   在一个...

loki_lan
2013/12/27
0
0
c++ ActiveX基础1:使用VS2010创建MFC ActiveX工程项目

1.ActiveX的基本概念 ActiveX控件可以看作是一个极小的服务器应用程序,它不能独立运行,必须嵌入到某个容器程序中,与该容器一起运行。这个容器包括WEB网页,应用程序窗体等。。。 ActiveX控...

moki_oschina
2015/01/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

python以太坊类库web3.py概览

python通过web3.py库与以太坊交互共同入口是web3对象。web3对象提供API接口,python开发应用与以太坊进行交互如钱包创建、支付、转账等连接JSON-RPC服务器进行。 Providers提供者 Providers使...

智能合约
2分钟前
0
0
【Android学习笔记】设置App启动页

先将启动页放到项目资源中,图片一般是1080*1920的jpg。 新建一个activity,如图: 创建成功之后,打开刚刚创建的activity,来进行代码的编写: >>>阅读全文

全部原谅
3分钟前
0
0
什么是React-redux、为什么使用React-redux、怎么使用React-redux

1、什么是React-redux React-redux是用于连接React和Redux的 2、为什么使用React-redux 使用React-redux可以使redux部分代码更简洁更明了,比如组建中需要使用到的数据都在mapStateToProps方...

kimyeongnam
6分钟前
0
0
Spring核心——Stereotype组件与Bean扫描

在注解自动装载中介绍了通过注解(Annotation)自动向Bean中注入其他Bean的方法,本篇将介绍通过注解(Annotation)向容器添加Bean的方法。 Spring的核心容器提供了@Component和@Bean注解来标...

随风溜达的向日葵
6分钟前
0
0
利用世界杯,读懂 Python 装饰器

Python 装饰器是在面试过程高频被问到的问题,装饰器也是一个非常好用的特性, 熟练掌握装饰器会让你的编程思路更加宽广,程序也更加 pythonic。 今天就结合最近的世界杯带大家理解下装饰器。...

猫咪编程
10分钟前
0
0
flink fold example

flink fold例子 import org.apache.flink.api.common.functions.*;import org.apache.flink.streaming.api.datastream.DataStream;import org.apache.flink.streaming.api.environment.S......

coord
11分钟前
0
0
c++ qt 组播总结

每个人都有不同的认知规律和习惯, 有的人喜欢搞一套严密的大理论, 论述起来滔滔不绝, 不管自己懂不懂, 反正读者/听者是没搞懂。 有的人喜欢从实践出发, 没看到代码, 不运行一下, 不看...

backtrackx
15分钟前
0
0
Sublime text2安装json格式化插件SublimePrettyJson[Windows]

一、下载SublimePrettyJson插件包 https://github.com/dzhibas/SublimePrettyJson 二、将下载的文件解压放到在package目录下面 C:\Users\lucky\AppData\Roaming\Sublime Text 3\Packages 每个......

lazy~
15分钟前
0
0
安装vue-cli 报4058错误

1. 4058是网络代理错误。 安装淘宝源修改一下就可以了: npm --registry https://registry.npm.taobao.org info underscore 改为cnpm执行: cnpm install --global vue-cli 安装成功: 试试版...

MrBoyce
16分钟前
0
0
CPU飙升分析

1、top -----看具体的进程 2、top -H -p pid ------该进程的线程 3、printf 0x%x 15248 ------将线程改为16进制 4、jstack 进程...

北极之北
19分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部