CodeBlocks定义异常:multiple definition of 和 first defined here

基于链表实现贪吃蛇案例时候,在CodeBlocks的CPP源文件定义函数和全局变量均报错

异常现象

  • 在**自定义的cpp**文件定义全局变量、对象、函数等均出现重复定义和首次定义
multiple definition of `Controller::showCopy()
first defined here 

在这里插入图片描述

异常解决方案

在这里插入图片描述

正确代码

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
	<FileVersion major="1" minor="6" />
	<Project>
		<Option title="实训-数据结构" />
		<Option pch_mode="2" />
		<Option compiler="gcc" />
		<Build>
			<Target title="Debug">
				<Option output="bin/Debug/实训-数据结构" prefix_auto="1" extension_auto="1" />
				<Option object_output="obj/Debug/" />
				<Option type="1" />
				<Option compiler="gcc" />
				<Compiler>
					<Add option="-g" />
				</Compiler>
			</Target>
			<Target title="Release">
				<Option output="bin/Release/实训-数据结构" prefix_auto="1" extension_auto="1" />
				<Option object_output="obj/Release/" />
				<Option type="1" />
				<Option compiler="gcc" />
				<Compiler>
					<Add option="-O2" />
				</Compiler>
				<Linker>
					<Add option="-s" />
				</Linker>
			</Target>
		</Build>
		<Compiler>
			<Add option="-Wall" />
			<Add option="-fexceptions" />
		</Compiler>
		<Unit filename="snake.cpp">
			<Option target="&lt;{~None~}&gt;" />
		</Unit>	
		<Unit filename="list.h">
			<Option target="&lt;{~None~}&gt;" />
		</Unit>
		<Unit filename="main.cpp" />
		<Extensions>
			<lib_finder disable_auto="1" />
		</Extensions>
	</Project>
</CodeBlocks_project_file>

核心代码

<Unit filename="list.h">
    <Option target="&lt;{~None~}&gt;" />
</Unit>
  1. <Unit filename="list.h">:这可能表示一个单元或模块的名称是“list.h”。filename属性可能指示这个单元或模块关联的文件名是“list.h”。
  2. <Option target="<{~None~}>" />:这可能描述了一个选项。target属性可能表示这个选项的目标或关联的对象。"<{~None~}>" 看起来像是一个特殊的标记或占位符,可能表示没有特定的目标或值。

错误示例

<Unit filename="snake.cpp" />
<Unit filename="list.h">
    <Option target="&lt;{~None~}&gt;" />
</Unit>
<Unit filename="main.cpp" />
  • 配置文件中的引入的源文件缺失子元素<Option target="&lt;{~None~}&gt;" />

正确示例

<Unit filename="snake.cpp">
    <Option target="&lt;{~None~}&gt;" />
</Unit>
<Unit filename="list.h">
    <Option target="&lt;{~None~}&gt;" />
</Unit>
<Unit filename="main.cpp" />

猜你喜欢

转载自blog.csdn.net/Klhz555/article/details/135050329