OpenSsl在64位模式下编译源openssl后添加刷新,出错

问题描述

我以前用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。

但是在64位的openssl中,编译后找不到这些库,只能找到libcrypto.lib和libssl.lib。

我如何摆脱这个问题?

解决方法

只需保持简单即可。让我们从64位openssl重新开始。

转到C:\ Program Files \ OpenSSL-Win64 \(如果下载64位openssl)

然后,您可以看到libssl1_1-x64.dll和其他dll文件。

还有include和lib目录,您可能需要包括它们。

请勿使用链接之类的dll文件。只需单独使用dll或lib文件。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...