c++ - ICU、Unicode 和图书馆

标签 c++ visual-studio-2010 unicode icu

我的目标是在嵌入式系统中实现 UTF-16 格式的 Unicode。我希望能够使用多种语言在我的 LCD 上显示。多种语言的文本将写在单独的文本文件中。 我通常使用带有 GCC 编译器的 Eclipse 进行编程。

我对 Unicode 做了一些研究,似乎 ICU 拥有很好的库来让 Unicode 在嵌入式系统上工作。 我下载的 ICU 版本是为 Windows Visual Studio 10 编写的。我对这个程序还很陌生,所以请耐心等待。 我已经安装了 Microsoft Visual C++ 2010 来编译 ICU 并更改了自述文件中提到的库路径。 尝试运行 cintltst 时出现以下错误:

#### Note:  ICU Init without build-specific setDataDirectory() failed.
U_FILE_ACCESS_ERROR
#### ERROR! C:\Documents\ICU\source\test\cintltst\.\x86\Debug\cintltst.exe: u_init() failed with status = "U_FILE_ACCESS_ERROR".
*** Check the ICU_DATA environment variable and
*** check that the data files are present.
*** Exiting.  Use the '-w' option if data files were
*** purposely removed, to continue test anyway.

现在有几个问题:

1) 我不知道 ICU 期望什么文件,甚至不知道我应该期望什么是正确的输出。

2) 我是否需要包含某种形式的 Unicode 库?

3) 如果我能够运行此示例程序,我是否应该在将所需文件复制到我自己的软件之前更改任何内容?

4) 当ICU数据没有打包到共享库时,软件告诉我这个检查失败是正常的。这是否意味着我需要以某种方式打包 ICU 数据?

我认为这可能是 Visual Studio 设置中的某些内容不正确。

感谢您的宝贵时间!

最佳答案

在使用适用于 x64 平台的 Visual Studio 构建 ICU 后,我遇到了与 cintltst (U_FILE_ACCESS_ERROR) 相同的错误。然后我再次尝试为平台 Win32 构建并且成功了。

关于c++ - ICU、Unicode 和图书馆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29393991/

相关文章:

c++ - Boost::ptree 解析器无法从 xml 文件中读取容器

c++ - 奇数 C++ 字符数组引用

c++ - 如果传递的指针为空,placement new 是否会调用构造函数?

java - 在 Java 6 字符串文字中解析 unicode 转义时出现问题...?

Python 统一码错误

c++ - 在 C++ 中删除 boost 包装器中的对象

c++ - 将c++ getline文件输出复制到字符串时的更改

c# - "End of Stream encountered before parsing was completed."从文件反序列化时

.net - 在 Visual Studio 编辑器中检测事件

powershell - CloudFormation 用户数据到 Base64 解码不正确