我们正在尝试使用 gcc 版本 8 和 ICU 库版本 68 在 RHEL 8 上构建我们的 C++ 组件以进行本地化,但是在读取资源字符串时我们遇到了失败。
我们在 myapp_en.txt 中有英文特定的字符串,格式如下:
myapp_EN
{
INF_LOGCREATE {"Log created"}
INF_CONFFILELOAD {"Config file loaded"}
INF_INITCOMPLETE {"Initialization completed"}
}
如果我们使用以下命令创建 .res 文件,则会创建 myapp_EN.res 文件。
#/ICU_68/bin/genrb myapp_EN.txt
然后将上面的.res文件放在组件安装目录下,尝试运行组件,我们无法读取资源字符串。以下代码用于读取资源:
UResourceBundle* resBundle_ = ures_open(“./myapp”, “en_US”, &status);
上述函数调用将资源包返回为 NULL。