无法在动态链接库Core.dll中找到过程入口点

6 c++ dll linker singleton visual-studio-2005

我正在转换我的项目使用DLL,我试图拆分我的Singleton类,以避免使用模板.

我的班级,LudoMemory最初继承自Singleton.我试图赋予它现在销毁和创造自己的功能,让我的主引擎不依赖于Singleton.

我写了一个简单的破坏方法,如:

LudoMemory *memory_Singleton = NULL;

    void LudoMemory::Destroy()
    {
        LUDO_SAFE_DELETE(m_Singleton)
    }
Run Code Online (Sandbox Code Playgroud)

并在运行程序时(没有编译器错误)我收到此错误:

程序入口点?Destroy @ LudoMemory @@ SAXXZ无法位于动态链接库LudoCore.dll中

LudoCoreLudoMemory属于的项目.为什么会这样?我该如何解决?

sti*_*ijn 9

您的系统上没有多个版本的ludocore.dll,对吗?过程入口点错误通常意味着:您针对ludocore.lib版本x编译了项目,并且在运行程序时,它使用ludocore.dll版本y,而版本y没有定义LudoMemory :: Destroy().