我正在使用gcc 3.4.5编译TCL 7.6p2。我使用的是CentOS 5.5。在make命令执行过程中,我得到以下错误:
./../generic/tclPosixStr.c: In function `Tcl_ErrnoId':
./../generic/tclPosixStr.c:340: error: duplicate case value
./../generic/tclPosixStr.c:328: error: previously used here
./../generic/tclPosixStr.c: In function `Tcl_ErrnoMsg':
./../generic/tclPosixStr.c:787: error: duplicate case value
./../generic/tclPosixStr.c:775: error: previously used here
make: *** [tclPosixStr.o] Error 1任何提示都将不胜感激。谢谢。
发布于 2011-06-09 16:56:01
您正在尝试使用多年不受支持的旧版本。因此,最好的方法是修改源代码,注释掉那些switch语句中的违规案例。或者切换到有人愿意支持的东西(但这是你的决定)。
详细说明: EOPNOTSUPP似乎与ENOTSUP的值相同;注释掉与EOPNOTSUPP关联的每组三行(或者至少是带有case的行;周围的#ifdef机器是无害的),以使问题消失。或者,您可以支持所有非旧式版本中存在的更改,即将#ifdef行改进为:
#if defined(EOPNOTSUPP) && (!defined(ENOTSUP) || (ENOTSUP != EOPNOTSUPP))不过,请不要费心将其报告为bug。不支持Tcl 7.6p2。
https://stackoverflow.com/questions/6285878
复制相似问题