【问题标题】:Check build parameters of libxml2.so at runtime在运行时检查 libxml2.so 的构建参数
【发布时间】:2015-06-12 08:20:42
【问题描述】:

我正在编写一个链接到系统上libxml2 的简单应用程序。它适用于几乎所有用户,但一位用户在从网络读取特定 xml 文件时报告了此错误:

Unsupported encoding ISO8859-1

此错误通常表明 libxml2 已构建 --without-iconv。有什么方法可以显式测试系统上的libxml2动态库是否支持iconv?

【问题讨论】:

    标签: c linux gcc libxml2 autoconf


    【解决方案1】:

    我可以想到两种方法来做到这一点:

    1. 使用 xml 的 iconv 功能编写一个简短的测试程序。如果它不存在,它的行为应该不同。这就是 GNU 配置软件所做的事情 - 它通过运行来测试存在的功能。
    2. 这是一个 hack - 使用 iconv 找到 libxml 中存在的常见 iconv 符号,但如果 iconv 丢失则找不到。使用 nm 之类的实用程序列出库文件中的符号。

    或者只是通过在您的应用程序中打包一个工作的 libxml 来避免这个问题。

    【讨论】:

    • 我认为对 iconv 的后端支持不会影响导出的符号。
    猜你喜欢
    • 2012-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-07
    • 1970-01-01
    • 1970-01-01
    • 2011-10-09
    • 2012-07-27
    相关资源
    最近更新 更多