我有四个dll,让我们说A.dll B.dll C.dll D.dll。它们都是使用带有dll和导出符号选项的vc ++ windows应用程序向导构建的。
A.dll正在使用BCD中的功能。 事实证明,BCD可以与测试应用程序配合使用。 现在我正在测试A.dll。
然而,无论我如何更改或编译A.dll,当我在测试应用程序中调用它时(在程序运行到main之前),它alwasy说,函数(A.dll中的函数)的入口点在A.dll中找不到。我用记事本手工打开了A.dll,我可以看到函数是同名的。函数名也在A.exp和A.lib
中我编译A.dll的方式与BCD相同,包括他们的libs和dllimport。在我的测试程序中,我尝试包含A.lib / ABCD.libs,但它没有用。当我编译A.dll时,我包含了BCD.libs
我使用了Dll导出视图,它显示了该功能并正确导出。 我认为它可能是由vc ++生成的lib文件,当dll本身使用其他dll时遇到问题找不到该函数
我发现问题....这是非常愚蠢的,还有另一个A.dll在系统中具有相同名称并首先加载:SSSSSSSSSS