在 Open Suse Leap 15.1 上对 32 位可执行文件的 iconv_open 支持

Posted

技术标签:

【中文标题】在 Open Suse Leap 15.1 上对 32 位可执行文件的 iconv_open 支持【英文标题】:iconv_open support on Open Suse Leap 15.1 for 32-Bit executables 【发布时间】:2019-09-02 08:48:26 【问题描述】:

如果我将以下代码示例编译为 32 位可执行文件(gcc -m32 test.cpp - 在 Ubuntu 上)并尝试在 Open Suse Leap 15.1 上运行它,则会返回“无效参数”错误。编译为 64 位二进制它返回成功。

有没有办法让 32 位示例开始工作?例如安装缺少的包,...是否不再支持转换?

test.cpp:

#include <stdio.h>
#include <iconv.h>

int main()

  if (iconv_open("UTF-32LE", "UTF-8") == ((iconv_t) -1))
    perror(0);
  else
    printf("Success\n");

【问题讨论】:

【参考方案1】:

安装包 glibc-locale-base-32bit 解决了这个问题。

【讨论】:

以上是关于在 Open Suse Leap 15.1 上对 32 位可执行文件的 iconv_open 支持的主要内容,如果未能解决你的问题,请参考以下文章

openSUSE-Leap-15.1配置网络和防火墙

open suse 42.3常用软件源(包括阿里云)

SUSE 15.1 安装图解

SUSE 15.1 安装图解

无法在 Open Suse 上安装 GridDB

Open SuSE中自定义的环境变量