问题描述
我目前正在将 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 位编译器重新编译它们。