[debug] 解决在C++编写过程中的“找到一个或多个多重定义的符号”

如下图:

其在 common.h 中定义了一个变量a ,然后在两个 cpp 文件中都是用它。

在这种情况下,链接时就会出现 “找到一个或多个多重定义的符号”。

解决方案:

在某个cpp文件中定义,然后在 common.h 中是用 extern 在外部声明这个变量。

建立:变量的定义建立放在cpp中,在 头文件中加一个 extern 即可。

原文地址:https://www.cnblogs.com/onetrainee/p/11961511.html

时间: 2024-10-17 06:15:46

[debug] 解决在C++编写过程中的“找到一个或多个多重定义的符号”的相关文章

error LNK1169: 找到一个或多个多重定义的符号”的解决方法(转载)

问题描述如下: 有 三个源文件,A.h.B.cpp.C.cpp. A.h是头文件,其中声明了三个变量a1.a2. a3. B.cpp是A.h中所声明的类的实现源代码,C.cpp是主程序文件.B.cpp和C.cpp中均包含头文件 A.h. 在编译时,编译能够通过,但链接时出了问题,出现"error   LNK1169:   找到一个或多个多重定义的符号"的错误. 经过分析,确定了这是由于两个实现文件中重复包含了头文件而造成的.可解决方法却始终找不到. 要 注意的是,在这里,在头文件中加入

关于"找到一个或多个多重定义的符号"问题的解决

在测试的时候突然心血来潮,把clearCMD.cpp的函数实现合并到clearCMD.h中,也就是说在函数声明的时候就写好函数实现,这样可以减少一个程序文件,修改完之后就一直报下面的错误: 即使使用了#ifndef-#define也没有用,因为它是为了防止嵌套调用的,而实际上TestRM_UnAutoTestSingleNode.cpp和TestRM_UnAutoTestMultiNode.cpp并没有嵌套调用,而是分别调用. 解决办法很简单,在clearCMD.h中,将成员变量前面加上exte

解决jsp编写过程中换另一个jsp可以忽视登录过程

在编写web大作业时发现,如果直接更换jsp地址,可以直接进入管理员界面. 为了解决这一问题,首先编写一个check文档: <% HttpSession sessi= request.getSession(); String login = (String) sessi.getAttribute("login"); if( !"login".equals(login)){ request.setAttribute("err","未

Selenium2学习-018-WebUI自动化实战实例-016-自动化脚本编写过程中的登录验证码问题

日常的 Web 网站开发的过程中,为提升登录安全或防止用户通过脚本进行黄牛操作(宇宙最贵铁皮天朝魔都的机动车牌照竞拍中),很多网站在登录的时候,添加了验证码验证,而且验证码的实现越来越复杂,对其进行脚本识别的难度也越来越高.这对我们自动化脚本编写带了非常的不便,那么如何解决登录时的验证码问题呢?经常有初学自动化脚本编写的小主们问及此问题. 此文主要针对如何解决自动化测试脚本中含登录态的操作问题,即如何降低验证码对自动化脚本编写过程中的解决方法进行分析和解决,并以实例演示(基于易迅网易迅账号登录)

使用ffmpeg视频编码过程中踩的一个坑

今天说说使用ffmpeg在写视频编码程序中踩的一个坑,这个坑让我花了好多时间,回头想想,很多时候一旦思维定势真的挺难突破的.下面是不正确的编码结果: 使用ffmpeg做视频编码过程中,首先要新建数据帧,并为数据帧分配相应内存,以便于保存图像数据,为数据帧分配内存需要用到av_image_alloc()这个函数,该函数将根据传入的图像宽.高.图像格式.数据对齐基数等参数进行内存分配. 这其中有一个参数可能会让人迷惑,那就是数据对齐基数这个参数该设置多少?顺便说说为什么要数据对齐,之所以要对齐,主要

Python爬虫(图片)编写过程中遇到的问题

最近我突然对网络爬虫开窍了,真正做起来的时候发现并不算太难,都怪我以前有点懒,不过近两年编写了一些程序,手感积累了一些肯定也是因素,总之,还是惭愧了.好了,说正题,我把这两天做爬虫的过程中遇到的问题总结一下: 需求:做一个爬虫,爬取一个网站上所有的图片(只爬大图,小图标就略过) 思路:1.获取网站入口,这个入口网页上有很多图片集合入口,进入这些图片集合就能看到图片链接了,所以爬取的深度为2,比较简单:2.各个子图片集合内所包含的图片链接有两种形式:一种是绝对图片路径(直接下载即可),另一种的相对

解决下载ftp文件过程中,浏览器直接解析文件(txt,png等)的问题

搭建了一个ftp服务器,供用户进行上传下载,在下载过程中发现,一些文件,例如txt,jpg,png,pdf等直接被浏览器解析了.在浏览器中显示其内容,没有下载. 下面通过网上查询得到一些解决方法: 1:修改ftp目录下的.htacess文件,这个文件主要做一些类型映射,使各个文件类型映射为  octet-stream 类型,这样浏览器就不能解析了. 但是,我没有在ftp目录下发现该文件,通过filezilla连接服务器, filezilla>服务器>强制显示隐藏文件 ,也没有发现该文件.听说该

ABAP程序编写过程中怎么提高程序执行效率一

影响ABAP程序的运行效率主要是在程序中大量数据的取得,如果取数不得方法,很影响报表的运行效率,所有优化ABAP程序主要是优化数据取数的方法.下面这几点可以有效的提高取数的效率,从而来提高程序的运行效率. 1.选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 drivingtable)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表.如果有3个以上的表连

类在编写过程中的一些注意事项

在编写类的时候我们要很好的把握细节问题,不仅仅要去避免一些明显的错误,更多的是如何形成良好的编程风格.下面我们将从下面的一个例子分析类的编写技巧: class Complex { public: Complex(double real,double imaginary = 0):_real(real),_imaginary(imaginary){ } void operator+(Complex other) { _real =_real +other._real; _imaginary = _