![](/img/trans.png)
[英]The procedure entry point _ftol2 could not be located in the dynamic link library msvcrt.dll
[英]The procedure entry point could not be located in the dynamic link library Core.dll
我正在转换我的项目使用DLL,并试图拆分我的Singleton
类,以避免使用模板。
我的班级LudoMemory
最初继承自Singleton
。 我试图赋予它现在销毁和创造自己的功能,让我的主引擎不依赖于Singleton
。
我写了一个简单的破坏方法,如:
LudoMemory *memory_Singleton = NULL;
void LudoMemory::Destroy()
{
LUDO_SAFE_DELETE(m_Singleton)
}
并在运行程序时(没有编译器错误)我收到此错误:
程序入口点?Destroy @ LudoMemory @@ SAXXZ无法位于动态链接库LudoCore.dll中
LudoCore
是LudoMemory
所属的项目。 为什么会这样? 我该如何解决?
您的系统上没有多个版本的ludocore.dll,对吗? 过程入口点错误通常意味着:您针对ludocore.lib版本x编译了项目,并且在运行程序时,它使用ludocore.dll版本y,而版本y没有定义LudoMemory :: Destroy()。
Jacob关于多个DLL版本的答案似乎很可能。
此外,对于某些构建系统,您必须明确列出将在DLL中导出的函数。
研究构建环境,看看是否必须提供要作为入口点导出的方法列表。
在Visual Studio构建环境中,您也可以尝试通过在链接器优化设置中禁用引用[ 否(/ OPT:NOREF) ]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.