extra / locale / locale_mmap.h:46:错误:'__LOCALE_DATA_WCctype_II_LEN'在这里未声明(不在函数中)

时间:2012-08-15 02:15:02

标签: linux embedded locale

当我编译工具链(uClibc)时,得到以下错误:

make [1]:进入目录`/ home / xxx / Intel-Puma-Toolchain_01 / buildroot-2011。 AIN / uClibc的-0.9.32'   HOSTCC extra / locale / gen_ldc 在extra / locale / gen_ldc.c中包含的文件中:45: extra / locale / locale_mmap.h:46:错误:'_ _ LOCALE_DATA_WCctype_II_LEN'未声明 油膏) extra / locale / locale_mmap.h:46:错误:'_ _ LOCALE_DATA_WCctype_TI_LEN'未声明 结)

我在谷歌搜索,找到了这个页面 http://www.armadeus.com/wiki/index.php?title=Ubuntu/Debian_installation_prerequisites#Debian

也许我的语言环境有一些错误,但我已经关注此页面并更改了我的语言环境,这些错误仍然存​​在。  这是我的语言环境,我的操作系统是debian squeeze

xxx@debian:~/Intel-Puma-Toolchain_01$ locale
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8
xxxx@debian:~/Intel-Puma-Toolchain_01$ locale -a
C
en_US.utf8
POSIX

你们有些人遇到过这个错误,如何解决? 感谢

2 个答案:

答案 0 :(得分:1)

toolchain/uClibc/uClibc-0.9.33.config目录中编辑您的uClibc配置文件,并进行以下更改:

189,190c189,191
< # UCLIBC_HAS_WCHAR is not set
< # UCLIBC_HAS_LOCALE is not set
---
> UCLIBC_HAS_WCHAR=y
> UCLIBC_HAS_LOCALE=y
> UCLIBC_BUILD_ALL_LOCALE=y

清理uClibc并重新重建。

cd output/toolchain/uClibc-0.9.33.2; make clean; cd ../../..; make

uClibc将构建区域设置数据output/toolchain/uClibc-0.9.33.2/extra/locale/wctables.h
它可以解决你的问题。

答案 1 :(得分:0)

我认为你可能遇到过这个错误:

http://lists.uclibc.org/pipermail/uclibc/2015-March/048852.html

导致无提示失败以生成wctables.h,这是应该定义丢失的宏的地方。运行./extra/locale/gen_wctype -v en_US或类似内容将显示生成此文件时可能发生的任何错误。