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

iconv_open support on Open Suse Leap 15.1 for 32-Bit executables

如果我将以下代码示例编译为 32 位可执行文件(gcc -m32 test.cpp - 在 Ubuntu 上)并尝试在 Open Suse Leap 15.1 上 运行 它returns 一个 "Invalid argument" 错误。编译为 64 位二进制它 returns 成功。

有没有办法让 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");
}

安装软件包 glibc-locale-base-32bit 解决了问题。