用C++编译时显示"Debug⼀再来一次.exe : fatal error LNK1169: one or more multiply defined symbols fou

这是神马情况,求助大神
2025-03-07 01:56:20
推荐回答(3个)
回答1:

fatal error LNK1169:one or more multiply defined symbols found;此属于编译联接的常见问题之一,原因是在不同的源文件重复定义变量。很可能是在.h文件里定义了全局变量,然后在不同的文件里包含了这个.h文件,就等于是全局变量多次定义了。

优点

  1. C++代码· C++设计成静态类型、和C同样高效且可移植的多用途程序设计语言。

  2. C++设计成直接的和广泛的支持多种程序设计风格(程序化程序设计、资料抽象化、面向对象程序设计、泛型程序设计)。

  3. C++设计成给程序设计者更多的选择,即使可能导致程序设计者选择错误。

  4. C++设计成尽可能与C兼容,借此提供一个从C到C++的平滑过渡。

  5. C++避免平台限定或没有普遍用途的特性。

  6. C++不使用会带来额外开销的特性。

  7. C++设计成无需复杂的程序设计环境。

  8. 出于保证语言的简洁和运行高效等方面的考虑,C++的很多特性都是以库(如STL)或其他的形式提供的,而没有直接添加到语言本身里。关于此类话题,Bjarne Stroustrup的《C++语言的设计和演化》(1994)里做了详尽的陈述。

  9. C++在一定程度上可以和C语言很好的结合,甚至目前大多数C语言程序是在C++的集成开发环境中完成的。C++相对众多的面向对象的语言,具有相当高的性能。

  10. C++引入了面向对象的概念,使得开发人机交互类型的应用程序更为简单、快捷。很多优秀的程序框架包括MFC、QT、wxWidgets就是使用的C++。

回答2:

程序中符号 fou 定义冲突,导致link无法正常装配程序

回答3:

fatal error LNK1169:one or more multiply defined symbols found;
此属于编译联接的常见问题之一,原因是在不同的源文件重复定义变量。

很可能是在.h文件里定义了全局变量,然后在不同的文件里包含了这个.h文件,就等于是全局变量多次定义了