在运行时检查 libxml2.so 的构建参数
Check build parameters of libxml2.so at runtime
我正在编写一个链接到系统上 libxml2
的简单应用程序。它适用于几乎所有用户,但一位用户在从网络读取特定 xml 文件时报告了此错误:
Unsupported encoding ISO8859-1
此错误通常表示构建了 libxml2 --without-iconv
。有什么方法可以显式测试系统上的 libxml2 动态库是否支持 iconv?
我可以想到两种方法:
- 使用 xml 的 iconv 特性编写一个简短的测试程序。如果它不存在,它应该表现不同。这就是 GNU 配置软件所做的——它通过使用它们来测试存在的特性。
- 这是一个 hack - 找到 libxml 中存在的常见 iconv 符号和 iconv,但如果缺少 iconv 则不会。使用 nm 等实用程序列出库文件中的符号。
或者通过将工作库xml与您的应用程序打包来避免此问题。
我正在编写一个链接到系统上 libxml2
的简单应用程序。它适用于几乎所有用户,但一位用户在从网络读取特定 xml 文件时报告了此错误:
Unsupported encoding ISO8859-1
此错误通常表示构建了 libxml2 --without-iconv
。有什么方法可以显式测试系统上的 libxml2 动态库是否支持 iconv?
我可以想到两种方法:
- 使用 xml 的 iconv 特性编写一个简短的测试程序。如果它不存在,它应该表现不同。这就是 GNU 配置软件所做的——它通过使用它们来测试存在的特性。
- 这是一个 hack - 找到 libxml 中存在的常见 iconv 符号和 iconv,但如果缺少 iconv 则不会。使用 nm 等实用程序列出库文件中的符号。
或者通过将工作库xml与您的应用程序打包来避免此问题。