从dll构造第一个变量时发生访问冲突



我创建了一个dll,其中包含我自己的数学库。这个库允许我使用它的类和一些插值方法。但是,当我的程序第一次从这个dll创建一个类时,它会生成一个第一次机会异常-访问冲突。之后,所有类及其方法都可以正常运行,程序也可以正常运行和关闭。这是我的代码生成的唯一错误,显然会阻止它在发行版中运行。

属性页上有我遗漏的东西吗?或者我需要声明类方法virtualMETHOD()=0吗?(我问这个问题是因为在一个类中要添加很多内容来测试它)。

我已经用/VERBOSE运行了以检查链接器阶段,一切都很好,dll生成时没有问题。我被这个问题难住了,我似乎很奇怪,它在第一次创建类时就创建了这个问题,但之后就可以了。

任何提示都会很有帮助,我现在已经浪费了几个小时来处理这个错误了。

谢谢。

已解决!编译dll时,缺少由VS2010生成的dllmain.cpp。如果其他人VS未生成此文件:#include"stdafx.h"BOOL APIENTRY DllMain(HMODULE HMODULE,DWORD ul_reason_for_call,LPVOID lpReserved){switch(ul_reason-for_call){case DLL_PROCESS_ATTACH:case DLL_THREAD_ATTACH:case DLL_THEREAD_DETACH:case DLL-PROCESS_DETACH:break;}返回TRUE;}

最新更新