C/C++多重定义 Multi-defined解决方案

简介: Error: L6200E: Symbol fTable multiply defined (by ../../build/system/StateMachine.LPC1768.o and ../../build/main.LPC1768.o).

在编写mbed程序时,编译报错:
Error: L6200E: Symbol fTable multiply defined (by ../../build/system/StateMachine.LPC1768.o and ../../build/main.LPC1768.o).

当编译时提示这样的错误时,是因为框出来的变量被重复定义了,我们要从定义的地方解决。

1.首先,我们全局搜索这个变量(ctrl+f),搜索这个变量在工程中被定义的位置

解决方法1:
如果发现有多个文件中都有定义过,例如在a.c和b.c中都有int a = 0;,那么我们要删除只剩一个地方定义即可
3.如果发现变量是在头文件被定义的,那么我们要将其改到.c中定义,在头文件中定义是不可以的,例如a.h中int a = 1;
那么我们在所有引用这个a.h的.c中都会重复定义int a,所以我们要改到.c中定义
4.当只剩一个地方定义后,我们在其他文件中要使用就要extern int a;来使用这个变量

解决方法2:
使用宏定义定义变量,其余头文件使用#ifndef或#ifdef避免多重定义

Reference:
https://blog.csdn.net/MoreXD/article/details/121979087

相关文章
|
C++
C++中类的定义与使用
C++中类的定义与使用
605 2
|
9月前
|
API C++ Windows
Visual C++运行库、.NET Framework和DirectX运行库的作用及常见问题解决方案,涵盖MSVCP140.dll丢失、0xc000007b错误等典型故障的修复方法
本文介绍Visual C++运行库、.NET Framework和DirectX运行库的作用及常见问题解决方案,涵盖MSVCP140.dll丢失、0xc000007b错误等典型故障的修复方法,提供官方下载链接与系统修复工具使用指南。
1897 2
|
安全 程序员 编译器
【实战经验】17个C++编程常见错误及其解决方案
想必不少程序员都有类似的经历:辛苦敲完项目代码,内心满是对作品品质的自信,然而当静态扫描工具登场时,却揭示出诸多隐藏的警告问题。为了让自己的编程之路更加顺畅,也为了持续精进技艺,我想借此机会汇总分享那些常被我们无意间忽视却又导致警告的编程小细节,以此作为对未来的自我警示和提升。
1711 120
|
C++
C++程序中的类声明与对象定义
C++程序中的类声明与对象定义
340 1
|
安全 C++
【c++】继承(继承的定义格式、赋值兼容转换、多继承、派生类默认成员函数规则、继承与友元、继承与静态成员)
本文深入探讨了C++中的继承机制,作为面向对象编程(OOP)的核心特性之一。继承通过允许派生类扩展基类的属性和方法,极大促进了代码复用,增强了代码的可维护性和可扩展性。文章详细介绍了继承的基本概念、定义格式、继承方式(public、protected、private)、赋值兼容转换、作用域问题、默认成员函数规则、继承与友元、静态成员、多继承及菱形继承问题,并对比了继承与组合的优缺点。最后总结指出,虽然继承提高了代码灵活性和复用率,但也带来了耦合度高的问题,建议在“has-a”和“is-a”关系同时存在时优先使用组合。
982 6
|
存储 编译器 Linux
【c++】类和对象(上)(类的定义格式、访问限定符、类域、类的实例化、对象的内存大小、this指针)
本文介绍了C++中的类和对象,包括类的概念、定义格式、访问限定符、类域、对象的创建及内存大小、以及this指针。通过示例代码详细解释了类的定义、成员函数和成员变量的作用,以及如何使用访问限定符控制成员的访问权限。此外,还讨论了对象的内存分配规则和this指针的使用场景,帮助读者深入理解面向对象编程的核心概念。
840 4
|
Rust 资源调度 安全
为什么使用 Rust over C++ 进行 IoT 解决方案开发
为什么使用 Rust over C++ 进行 IoT 解决方案开发
628 7
|
存储 编译器 C语言
C++入门2——类与对象1(类的定义和this指针)
C++入门2——类与对象1(类的定义和this指针)
315 2
|
C++
C++番外篇——对于继承中子类与父类对象同时定义其析构顺序的探究
C++番外篇——对于继承中子类与父类对象同时定义其析构顺序的探究
231 1
|
编译器 C++ 运维
开发与运维函数问题之函数的返回类型如何解决
开发与运维函数问题之函数的返回类型如何解决
172 6