首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >报告静态库错误目标体系结构的dumpbin

报告静态库错误目标体系结构的dumpbin
EN

Stack Overflow用户
提问于 2015-02-20 18:24:06
回答 1查看 250关注 0票数 1

我不明白为什么dumpbin在Visual命令行上执行以下命令时返回x64:

代码语言:javascript
复制
dumpbin libgmp.lib /HEADERS |more

这是在Cygwin 32位版本下编译的GMP库,具有以下构建配置:

代码语言:javascript
复制
./configure --host=i386 ABI=32

生成系统成功地编译并构建了指定主机的所有文件。然而,dumpbin仍然报告说,.a或.lib用于64位架构。

注意,输出静态库是libgmp.a,但我将其扩展更改为.lib,并将其与Visual项目链接,没有任何问题。

另一个重要的注意事项:将libgmp.lib与32位程序连接起来很好,并生成一个PE32文件,正如CFF所报告的那样。

是垃圾桶解释的错误,还是我遗漏了一些重要的东西?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-21 05:01:03

似乎没有64bit32bit静态库类型。在使用objdumpdumpbin对库执行了一些断言之后,两者都报告了正确的信息。

objdump报告了一些对象文件为64位,另一些则为32位。dumpbin也做了同样的事情。

这个问题源于GMP构建系统,它将64位和32位对象文件嵌入到静态库中。

您的程序将正确链接到32位应用程序,只要您不使用在64位对象文件中找到的任何工具,这就解释了CFF的输出。

为了解决这个问题,你必须联系GMP网站。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28635707

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档