gpt4 book ai didi

windows - "The Ordinal 112 could not be located in dynamic link library..."

转载 作者:太空宇宙 更新时间:2023-11-03 13:44:20 25 4
gpt4 key购买 nike

整个错误如下:“The ordinal 112 could not be located in the dynamic link library D:\GNU-C-compiler\GNUstep\bin\openssl.exe”

我一直在网络上搜索很多解决方案,但无济于事。我最近开始使用 OpenSSL 进行加密,但是在安装过程中我安装了多个不同版本的软件进行测试但是在删除这些其他版本的过程中我只是删除了文件夹而不是执行正确的卸载程序(openssl 程序节省了一些dll 到 windows 系统目录中,以便保留这些多个 dll)。因此,我相信这些额外的 dll 是问题的根源(也许),但我找不到轻松卸载它们的方法,所以我要求一个合理的解决方案来解决这个问题。

最佳答案

“The Ordinal 112 could not be located in dynamic link library…”

我在推测它的 SSLv23_server_methodBN_MONT_CTX_free来自 OpenSSL 1.0.2;或 RSA_PSS_PARAMS_freeSSL_CONF_CTX_clear_flags来自 OpenSSL 1.1.0。根据最近的一些变化,我猜测它的 OpenSSL 1.0.2 和 SSLv23_server_method .

# OpenSSL 1.1.0
$ find $PWD -type f -iname '*.num' -exec grep " 112" {} \;
RSA_PSS_PARAMS_free 112 1_1_0 EXIST::FUNCTION:RSA
SSL_CONF_CTX_clear_flags 112 1_1_0 EXIST::FUNCTION:
...

# OpenSSL 1.0.2
$ find $PWD -type f -iname '*.num' -exec grep " 372" {} \;
BN_MONT_CTX_free 112 EXIST::FUNCTION:
SSLv23_server_method 112 EXIST::FUNCTION:RSA
...

您需要使用 dumpbin 来验证它或 Dependency Walker .另见 How can I find the exported function name from ordinal (export by ordinal)?在 Stack Overflow 上。


序数是使用 <openssl src>\util\mkdef.pl 创建的.您可以从 OpenSSL 的 GitHub 页面查看源代码。 Here is 1.0.2here is 1.1.0 .

这里是文件的主要注释:

#!/usr/local/bin/perl -w
#
# generate a .def file
#
# It does this by parsing the header files and looking for the
# prototyped functions: it then prunes the output.
#
# Intermediary files are created, call libcrypto.num and libssl.num,
# The format of these files is:
#
# routine-name nnnn vers info
#
# The "nnnn" and "vers" fields are the numeric id and version for the symbol
# respectively. The "info" part is actually a colon-separated string of fields
# with the following meaning:
#
# existence:platform:kind:algorithms
#
# - "existence" can be "EXIST" or "NOEXIST" depending on if the symbol is
# found somewhere in the source,
# - "platforms" is empty if it exists on all platforms, otherwise it contains
# comma-separated list of the platform, just as they are if the symbol exists
# for those platforms, or prepended with a "!" if not. This helps resolve
# symbol name variants for platforms where the names are too long for the
# compiler or linker, or if the systems is case insensitive and there is a
# clash, or the symbol is implemented differently (see
# EXPORT_VAR_AS_FUNCTION). This script assumes renaming of symbols is found
# in the file crypto/symhacks.h.
# The semantics for the platforms is that every item is checked against the
# environment. For the negative items ("!FOO"), if any of them is false
# (i.e. "FOO" is true) in the environment, the corresponding symbol can't be
# used. For the positive itms, if all of them are false in the environment,
# the corresponding symbol can't be used. Any combination of positive and
# negative items are possible, and of course leave room for some redundancy.
# - "kind" is "FUNCTION" or "VARIABLE". The meaning of that is obvious.
# - "algorithms" is a comma-separated list of algorithm names. This helps
# exclude symbols that are part of an algorithm that some user wants to
# exclude.

关于windows - "The Ordinal 112 could not be located in dynamic link library...",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36163468/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com