multiple definition of 问题解决方法
问题描述:有一个opt_process.h文件,两个.cc文件都引用了这个.h文件,在.h文件中声明了一些全局变量,报错
/tmp/ccBCSKoH.o:(.bss+0x0): multiple definition of longopts'
input_opts’
/tmp/ccZP3F8G.o:(.bss+0x0): first defined here
/tmp/ccBCSKoH.o:(.bss+0xc0): multiple definition of
/tmp/ccZP3F8G.o:(.bss+0xc0): first defined here
/tmp/ccBCSKoH.o:(.bss+0x100): multiple definition of inout_opts'
output_opts’
/tmp/ccZP3F8G.o:(.bss+0x100): first defined here
/tmp/ccBCSKoH.o:(.bss+0x140): multiple definition of
/tmp/ccZP3F8G.o:(.bss+0x140): first defined here
collect2: error: ld returned 1 exit status
原因:好像是由于多次包含,然后编译.cc文件是重复 定义了。
解决方法:
- 使用extern关键字,即变量在.c文件中声明,在.h中用extern标志即可;
- 用#ifndef+#define+#endif
- 如果全局变量是常量,使用const标志该常量(C++中),因为const常量在便宜期已经确定,无需编译,自然也没有重复定义的问题了。
1,2方法网上都有, 3方法自己实测有用,不足之处多多指教。
multiple definition of 问题解决方法相关推荐
- (转)解决multiple definition of的方法
(转)解决multiple definition of的方法 参考文章: (1)(转)解决multiple definition of的方法 (2)https://www.cnblogs.com/sa ...
- 解决multiple definition of的方法
因为最近编写的一个程序,工程量比较大. 只是子文件就10+多个了,所以,将一些全局变量全部声明在了自己定义的shao.h头文件中了. 今天又增加了一个解算模型的子函数,在编译的时候就报了multipl ...
- 【转】解决多文件编译中连接错误 multiple definition of*****
总结了解决multiple definition of的方法: 问题原因: 当多个文件包含同一个头文件时,并且你的.H里面没有加上条件编译 #ifndef TEST_H #define TES ...
- 解决 multiple definition of
总结了解决multiple definition of 的方法: 问题原因: 当多个文件包含同一个头文件时,并且你的.H里面没有加上条件编译 #ifndef TEST_H #define TE ...
- 问题记录:multiple definition of `xxxx` 问题解决 struct定义类的error:“unknown type name“
一.multiple definition of xxxx 问题解决 问题背景 我在一个头文件里面定义了一个变量,并赋予初值,然后再两个.c 文件里引入了这个头文件,结果就报错 multiple de ...
- multiple definition of `xxxx`问题解决及其原理
人有的时候就是这样,稍微知道点知识就觉着自己什么都会,就浮躁了,实际只是一瓶子不满半瓶子晃荡的状态,今天就写点基础的东西,也是当前遇到的,以前改改就过去了,没有深究其原因,今天就给它所清楚了,也算弥补 ...
- 解决C++中multiple definition of问题
1.global.h #ifndef _GLOBAL_H #define _FACEDETECT_Hstruct People{string name;int age;}p_info; #endif2 ...
- 如何解决linux下编译出现的multiple definition of错误
今天,在编译quagga的过程中出现了multiple definition of的错误.该错误表示不同文件对同一变量进行了重复定义.因此,可以从以下几个方面来排查这个问题: 1. 是否定义了重复变量 ...
- Linux Mint 21编译Android kernel,遇到 multiple definition of `yylloc‘ 的错误解决
由于gcc和g++版本的更新,在编译之前的Android内核会出现各种各样的问题,本文就multiple definition of `yylloc' 问题解决给出解决方案 本文环境如下: OS: L ...
最新文章
- 降低预测过程计算成本,这些NLP模型压缩方法要知道
- iOS进阶之底层原理-消息机制
- Python+opencv 图像拼接
- python3最新版本-mac下安装Python3.*(最新版本)
- 随机验证码 php
- HTML5各种标签总结(HTML、head)
- 我眼中的移动互联网(多原创视频)
- AudioBufferSourceNode
- python selenium 点击 报错v_python菜鸟初学selenium+chromedrive,简单点击出错,请指教...
- Flutter拓展 在Android studio中导入Flutter项目报错
- rdkitpython | 多个化合物中挑选最大片段
- mysql中dint,请教一下Dint和Real型变量在使用过程中出现的问题
- C#实现笔记本摄像头调用、拍照 USB摄像头
- mac mini 开发android,Mac mini M1上成功启动Ubuntu
- 春晚郎朗宋祖英不合作 本山欲请张艺谋导演小品
- 使用Visio来画图配置
- (翻译)Understanding Convolutional Neural Networks for NLP
- [MySQL]什么是视图以及视图的作用
- Python安装库的常用方法
- 营改增后计算机维修费税率,2020国税维修费税率是多少?