'UnicodeString'没有在这个范围内声明。

问题描述 投票:0回答:1

我无法编译 php-intl (php - 5.5.9, ubuntu - 14.04, icu - 67)

当我尝试 pecl install intl出现以下错误

In file included from /tmp/pear/temp/intl/intl_convertcpp.cpp:21:0:
/tmp/pear/temp/intl/intl_convertcpp.h:28:25: error: 'UnicodeString' was not declared in this scope
 int intl_stringFromChar(UnicodeString &ret, char *str, int32_t str_len, UErrorCode *status);
                         ^~~~~~~~~~~~~
/tmp/pear/temp/intl/intl_convertcpp.h:28:25: note: suggested alternative:
In file included from /tmp/pear/temp/intl/intl_convertcpp.h:26:0,
                 from /tmp/pear/temp/intl/intl_convertcpp.cpp:21:
/opt/icu67/include/unicode/unistr.h:294:20: note:   'icu_67::UnicodeString'
 class U_COMMON_API UnicodeString : public Replaceable
                    ^~~~~~~~~~~~~

请告诉我如何克服这个错误

或其他方式更新icu数据库,因为。apt-get 把一个非常老的数据库。

php ubuntu pecl icu intl
1个回答
0
投票

使用 icu_67::UnicodeString 代替 UnicodeString,你的问题就解决了。

© www.soinside.com 2019 - 2024. All rights reserved.