我以前编译过 32 位的 openssl 源代码并在我的 c++ 项目中使用它。但由于某些原因,我想让我的程序为 64 位,并在程序启动时引用我创建的 dll 时出错。
我的 c++ 程序 A.dll 使用 openssl 库。在x86中使用它之前没有任何问题,B.dll使用的是我自己编译的openssl 32bit
System.DllNotFoundException:无法加载 DLL 'A.dll' 或其依赖项之一:找不到指定的模块。(0x8007007E)
我在 B.exe 中使用 A.dll。B.exe 在 c# 中,在我的电脑上使用 x86 A.dll 时可以,但是当将所有 dll 和 b.exe 复制到另一台计算机时,它将无法工作并出现上述错误,因此决定在 64 位编译 openssl,并且在 A.dll 中使用 openssl 64bit 时,会出现 c++ 中的链接错误。
在 x86 之前,我引用了 ssleay32.lib 和 libeay32.lib。
但是在 64bit openssl 编译时找不到这些库,只有 libcrypto.lib 和 libssl.lib。
我怎么能摆脱这个问题?