过程入口点不能设在动态链接库Core.dll(The procedure entry point c

2019-08-19 06:03发布

我将我的项目使用的DLL,我试图掰开我Singleton类来避免使用模板。

我的课, LudoMemory ,最初是从继承Singleton 。 我想给它摧毁,现在自己创建的,并有我的主发动机不依靠功能Singleton

我写了一个简单的方法破坏等一样:

LudoMemory *memory_Singleton = NULL;

    void LudoMemory::Destroy()
    {
        LUDO_SAFE_DELETE(m_Singleton)
    }

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

程序输入点?销毁@ LudoMemory @@ SAXXZ不能设在动态链接库LudoCore.dll

LudoCore是项目LudoMemory所属。 这究竟是为什么? 我该如何解决呢?

Answer 1:

你没有ludocore.dll的多个版本在系统上,你呢? 程序入口点错误通常意味着:你编译你对ludocore.lib x版本项目,并运行程序时,它使用ludocore.dll版本y和版本Y不定义LudoMemory :: destroy()方法。



Answer 2:

雅各布的有关多个DLL版本的答案似乎是可能的。

而且,某些构建系统,你必须明确列出哪些功能将在一个DLL导出。

研究构建环境,看看你是否必须提供的方法列表导出为一个入口点。



Answer 3:

在Visual Studio编译环境,你也可以通过在链接器优化设置禁用引用尝试[ 否(/ OPT:NOREF)]



文章来源: The procedure entry point could not be located in the dynamic link library Core.dll