【问题标题】:Compile EXPAT to statically-linked .a on Windows在 Windows 上将 EXPAT 编译为静态链接的 .a
【发布时间】:2010-06-27 14:05:04
【问题描述】:

我正在使用 MingW 在 Windows 上编写 C 程序,并希望使用 EXPAT XML 库。我想静态编译我的程序,所以我需要静态 .a 库。

有没有办法在 Windows 上将 EXPAT 编译为 .a 静态独立库?

【问题讨论】:

    标签: c windows mingw expat-parser


    【解决方案1】:

    如果您从Expat Sourceforge project page 下载官方版本,您将无法使用 MSYS 或 MinGW 编译和安装该库。您需要安装 CygWin 来配置、制作和安装。

    要编译和安装本机 MinGW 库,您需要修改版本的 configure 脚本和 libtool。只需下载 expat source tarball provided by MinGW 而不是主要的原始 expat。你也可以使用precompiled binaries instead

    【讨论】:

      【解决方案2】:

      我刚刚下载并构建了包,它似乎默认制作了一个静态库。什么不适合你?

      【讨论】:

      • 你的“构建”是什么?因为我没有cygwin所以我无法构建使用autoconf的linux源代码,也没有MSVC,所以我无法构建windows源代码。我需要 .a,而不是 .lib、.dll 或 .so。
      • 我也有同样的情况。尽管没有发生错误,MinGW 的 ld 拒绝生成任何 .la 或 .dll 库。
      【解决方案3】:

      您可以使用 MinGW 包安装程序获得 dynamicstatic 版本的 expat:

      1. 打开一个 cmdshell
      2. 更新包列表:mingw-get update (可选)
      3. 安装您需要的软件包:
        • 动态(.dll): mingw-get install expat
        • 静态(.a 和 .dll.a): mingw-get install libexpat
      4. 根据您的选择,您会找到 ...
        • 动态库在<your mingw>/bin,文件:libexpat-1.dll
        • 静态库在<your mingw>/lib,文件:libexpat.alibexpat.dll.alibexpat.la

      包概览:

      • expat:动态libexpat-1.dll包括。 xmlwf.exe
      • libexpat:静态libexpat.alibexpat.dll.alibexpat.la

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-08-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多