如何将 32 位 *.lib 文件转换为 64 位 *.a 文件

问题描述

我目前正在将 32 位 C++ 程序(使用 C++ Builder)移植到 64 位代码。该应用程序正在链接第 3 方 dll,并且 32 位编译器项目像往常一样包含关联的 lib 文件。 在 64 位模式下,这些“.lib”文件需要转换为扩展名为“.a”的档案。我知道有一个转换工具(一个简单的可执行文件)我曾经成功使用过一次。但我不记得那个工具的名字。有人可以帮我吗?

解决方法

没有将 32 位本机代码转换为 64 位本机代码的工具。也没有将 cl 库 (.lib) 转换为 gcc 库 (.a) 的工具。

,

如果您的 32 位 .lib 文件是 DLL 导入库,您可以从 DLL 本身创建新的 64 位导入库。 C++Builder 有一个 MKEXP.EXE 工具可以达到这个目的。

如果您的 32 位 .lib 文件是静态库,则无法将它们从 32 位转换为 64 位,需要使用 64 位编译器重新编译它们。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...