【问题标题】:How can I convert a VSTS .lib to a MinGW .a?如何将 VSTS .lib 转换为 MinGW .a?
【发布时间】:2012-08-01 08:43:15
【问题描述】:

我有一个用 Visual Studio 编译的静态库,我想从 MinGW 链接到它。

我尝试更改后缀,但收到一堆警告,例如:Warning: .drectve /DEFAULTLIB:"uuid.lib" /DEFAULTLIB:"uuid.lib" /DEFAULTLIB:"MSVCRT" /DEFAULTLIB:"OLDNAMES" ' unrecognized

还有一些错误,包括:./libetpan.a(Release_ssl/mailimap.obj):(.text[_mailimap_noop]+0x7): undefined reference to___security_cookie'`。

非常感谢任何帮助。

【问题讨论】:

    标签: c visual-studio static linker mingw


    【解决方案1】:

    您可以尝试将 .lib 转换为 .a

    http://code.google.com/p/lib2a/

    【讨论】:

      【解决方案2】:

      .lib 和 .a 的格式不同。更改文件扩展名是对链接器的欺骗,这就是它不起作用的原因。

      如果您尝试链接的是 32 位库,它应该“正常工作”。 MinGW 支持 32 位 .lib 文件。如果没有,请提交错误报告。

      如果它是 64 位库,并且您正在使用 MinGW-w64 或基于它的东西(如 TDM-GCC 64 位版本),请参阅MinGW-w64 FAQ entry

      gendef mylib.dll
      dlltool --as-flags=--64 -m i386:x86-64 -k --output-lib libmylib.a --input-def mylib.def
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-05-12
        • 1970-01-01
        • 2012-07-29
        • 2021-04-20
        • 2011-04-01
        • 1970-01-01
        相关资源
        最近更新 更多