2

我想让我的程序输出希腊字母。我已经安装并连接了 ICU,但我不知道如何将我的 Unicode 字符串打印到标准输出。这是一些简单的代码:

#include <unicode/unistr.h>
#include <unicode/ustring.h>
#include <unicode/ustream.h>
#include <iostream>

int main() {
    UnicodeString mystr("αβγ");
    std::cout << mystr << std::endl;
}

编译:g++ ./ctest.cpp -licui18n -licuuc -licudata -lpthread -lm产生以下错误:

ctest.cpp:(.text+0x27): undefined reference to `icu_46::operator<<(std::basic_ostream >&, icu_46::UnicodeString const&)'
collect2: ld 返回 1 退出状态

ICU 的文档对于像我这样的菜鸟来说很难,而且对于 ICU 来说尤其稀少ustream.h,我认为这是我想要做的事情的关键。任何帮助将不胜感激(特别是如果有人想写一个更用户友好的 ICU 指南!)。

4

1 回答 1

4

使用-licuio标志,因为 ICU 的 io 操作在这个库中。 http://userguide.icu-project.org/howtouseicu

forever@pterois:~/My_pro1/cpp_pro$ g++ -o new new.cpp -licui18n
-licuuc -licudata -licuio -lpthread -lm
forever@pterois:~/My_pro1/cpp_pro$ ./new 
αβγ
于 2012-11-29T06:44:23.753 回答