当包含全局函数时,c++错误lnk2005

c++ error lnk2005 when a global function is included

本文关键字:c++ 错误 lnk2005 包含全 函数      更新时间:2023-10-16

我正在处理一个dll项目,它一直运行良好,直到我添加了一个新的.h,其中包括一个全局函数和一个结构。然后编译(或链接)失败。

这是错误消息:

1>RobotReality.obj : error LNK2005: "double __cdecl GetNumber(void)" (?GetNumber@@YANXZ) [[已经在 dllmain.obj 中定义  translate: this has been defined in dllmain.obj]]
1>stdafx.obj : error LNK2005: "double __cdecl GetNumber(void)" (?GetNumber@@YANXZ) [[已经在 dllmain.obj 中定义  translate: this has been defined in dllmain.obj]]

我添加了"#pragma once",但问题仍然存在。

如何解决这个问题?

谢谢!

将它们声明为"static",并让编译器完成工作。