gpt4 book ai didi

c++ - 如何取消修饰 Visual Studio 中的链接器对象名称?

转载 作者:行者123 更新时间:2023-11-28 04:48:24 25 4
gpt4 key购买 nike

要取消修饰 Visual Studio 在已编译库中生成的损坏的 C++ 名称,可以使用 undname.exe。但是,如果库由于未解析的外部符号而无法编译,我在识别未损坏的名称时会遇到问题。

例子:

Error LNK2001 unresolved external symbol __imp_ldap_value_free_len libcurl.lib(ldap.obj)

当我尝试取消修饰那个名字时,我得到以下信息:

C:\Program Files (x86)\Microsoft Visual Studio 14.0>undname.exe __imp_ldap_value_free_len
Microsoft (R) C++ Name Undecorator
Copyright (C) Microsoft Corporation. All rights reserved.

Undecoration of :- "__imp_ldap_value_free_len"
is :- "__imp_ldap_value_free_len"

这表明链接器对中间目标文件使用了不同的修改格式。如何获取原始方法头?

最佳答案

了解 __imp_ldap_value_free_len 形式的名称的重要一点是删除 __imp_ 前缀并找出其余符号名称的来源。在 Wldap32.dll 中确实有一个 ldap_value_free_len(您链接到 Wldap32.lib)。

关于c++ - 如何取消修饰 Visual Studio 中的链接器对象名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48728136/

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