基于链表实现贪吃蛇案例时候,在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="<{~None~}>" />
</Unit>
<Unit filename="list.h">
<Option target="<{~None~}>" />
</Unit>
<Unit filename="main.cpp" />
<Extensions>
<lib_finder disable_auto="1" />
</Extensions>
</Project>
</CodeBlocks_project_file>
核心代码
<Unit filename="list.h">
<Option target="<{~None~}>" />
</Unit>
<Unit filename="list.h">
:这可能表示一个单元或模块的名称是“list.h”。filename
属性可能指示这个单元或模块关联的文件名是“list.h”。<Option target="<{~None~}>" />
:这可能描述了一个选项。target
属性可能表示这个选项的目标或关联的对象。"<{~None~}>"
看起来像是一个特殊的标记或占位符,可能表示没有特定的目标或值。
错误示例
<Unit filename="snake.cpp" />
<Unit filename="list.h">
<Option target="<{~None~}>" />
</Unit>
<Unit filename="main.cpp" />
- 配置文件中的引入的源文件缺失子元素
<Option target="<{~None~}>" />
正确示例
<Unit filename="snake.cpp">
<Option target="<{~None~}>" />
</Unit>
<Unit filename="list.h">
<Option target="<{~None~}>" />
</Unit>
<Unit filename="main.cpp" />