0

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

我在属性页面中缺少什么吗?还是我需要声明类方法 virtual METHOD() = 0?(我问这个,因为有很多要在一个类中添加来测试这个)。

我已经使用 /VERBOSE 来检查链接器阶段,一切都很好,生成的 dll 没有任何问题。我被这个问题难住了,我似乎很奇怪,它在创建第一堂课时就产生了这个问题,但之后就很好了。

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

谢谢。

4

1 回答 1

1

解决了!编译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_THREAD_DETACH: case DLL_PROCESS_DETACH: break; } 返回真;}

于 2012-09-15T04:39:12.800 回答