【问题标题】:How to convert .lib file to .a如何将 .lib 文件转换为 .a
【发布时间】:2017-08-10 00:13:52
【问题描述】:

过去 5 个小时我一直在尝试将二进制文件链接到我的程序,我正在使用 eclipse + MinGW,并尝试包含 FreeImage 源(从互联网下载),问题是我无法包含.lib 文件,因为它不起作用,所以我正在尝试将其转换为 .a 文件。

我使用 MSYS 软件来执行此操作,但没有任何效果,错误消失了,但程序只是失败/崩溃。

有没有办法将.lib 文件转换为.a 文件,以便我可以将它们包含到我的程序中。

请帮助我,我真的需要这个,而且我很难找到一些解决方案,但没有任何效果,请有人指导我。 提前感谢

【问题讨论】:

  • “.lib”文件的目标平台是什么?您的计划面向什么平台?
  • 您可能需要下载“.lib”的源代码并在您的系统上重建为“.a”格式。
  • 通常,.lib 文件针对 MS 平台。您绝对确定您正在为您的操作系统使用正确版本的库吗?当您说.lib 文件因为它不起作用时,您遇到了什么具体问题(在尝试转换之前)?
  • 我在windows上,我的lib文件用于纹理用途,我正在构建一个游戏引擎,并且想要使用纹理和图像读取,所以我从互联网上获取了一个名为FreeImage的,但正如我所见,它只在 lib 中
  • 在 Linux 中,有一些工具可以“调查”档案 (.a) 和共享对象文件 (.so)。这些允许您提取对象并插入对象(例如,当对象兼容时,可能从 .so 到 .a)。 mingw 可能有类似的东西。也许从搜索“从 .so 中提取 obj”开始。试试谷歌“从.so中提取对象”。

标签: c++ eclipse mingw lib .a


【解决方案1】:

【讨论】:

    【解决方案2】:

    你必须用 gcc-mingw 编译 opencv。 gcc-mingw 为不同的操作系统编译 - mingw 是 Linux 的一个子集。为 Windows 编译的库根本不兼容。

    您可以很容易地找到使用 google 或在这里为 mingw 构建 opencv 的说明:

    Getting started with OpenCV 2.4 and MinGW on Windows 7

    您还需要编译 FreeImage,FreeImage 的源代码可在http://freeimage.sourceforge.net/download.html 获得

    【讨论】:

    • 所以如果我用gcc-mingw编译openvc,编译器就可以读取lib文件,如果可以,我如何用openvc编译?安装正常吗?
    • gcc 创建 .a 文件。是的,您可以说使用与应用程序的其余部分相同的编译器和相同的操作系统编译库是标准过程。
    猜你喜欢
    • 2021-05-12
    • 2012-08-01
    • 1970-01-01
    • 2010-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-04
    • 1970-01-01
    相关资源
    最近更新 更多