我正在尝试在 Mac(操作系统 10.9.2)上安装 WordNet。我尝试过以下方法
- 。/配置
- make
但期间make
我遇到了一些错误。然后我安装了XQuartz-2.7.5。我仍然遇到一些错误make
。接下来,我安装了 Xcode,但这仍然不能解决问题。这question https://stackoverflow.com/questions/18800471/compiling-wordnet-3-0-on-osx-10-8-5建议安装Tcl/TK,我尝试过,但仍然出现以下错误make
/Applications/Xcode.app/Contents/Developer/usr/bin/make all-recursive
Making all in doc
Making all in html
make[3]: Nothing to be done for `all'.
Making all in man
make[3]: Nothing to be done for `all'.
Making all in pdf
make[3]: Nothing to be done for `all'.
Making all in ps
make[3]: Nothing to be done for `all'.
make[3]: Nothing to be done for `all-am'.
Making all in dict
make[2]: Nothing to be done for `all'.
Making all in include
Making all in tk
make[3]: Nothing to be done for `all'.
make[3]: Nothing to be done for `all-am'.
Making all in lib
Making all in wnres
make[3]: Nothing to be done for `all'.
make[3]: Nothing to be done for `all-am'.
Making all in src
if /usr/bin/gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I../include -I/usr/local/include -I/usr/X11/include -I/usr/local/include -I.. -I../include -I/usr/local/include -I/usr/X11/include -I/usr/local/include -I/usr/X11R6/include -L/usr/X11R6/lib -lX11 -fpermissive -MT wishwn-stubs.o -MD -MP -MF ".deps/wishwn-stubs.Tpo" -c -o wishwn-stubs.o `test -f 'stubs.c' || echo './'`stubs.c; \
then mv -f ".deps/wishwn-stubs.Tpo" ".deps/wishwn-stubs.Po"; else rm -f ".deps/wishwn-stubs.Tpo"; exit 1; fi
clang: warning: -lX11: 'linker' input unused
clang: warning: argument unused during compilation: '-L/usr/X11R6/lib'
stubs.c:43:17: error: no member named 'result' in 'struct Tcl_Interp'
interp -> result =
~~~~~~ ^
stubs.c:55:14: error: no member named 'result' in 'struct Tcl_Interp'
interp -> result = bitfieldstr;
~~~~~~ ^
stubs.c:72:17: error: no member named 'result' in 'struct Tcl_Interp'
interp -> result = "usage: bit bitnum";
~~~~~~ ^
stubs.c:78:14: error: no member named 'result' in 'struct Tcl_Interp'
interp -> result = bitfieldstr;
~~~~~~ ^
stubs.c:92:17: error: no member named 'result' in 'struct Tcl_Interp'
interp -> result =
~~~~~~ ^
stubs.c:105:14: error: no member named 'result' in 'struct Tcl_Interp'
interp -> result = resultbuf;
~~~~~~ ^
stubs.c:117:17: error: no member named 'result' in 'struct Tcl_Interp'
interp -> result = "usage: glosses [1 | 0]";
~~~~~~ ^
stubs.c:132:17: error: no member named 'result' in 'struct Tcl_Interp'
interp -> result = "usage: fileinfo [1 | 0]";
~~~~~~ ^
stubs.c:147:17: error: no member named 'result' in 'struct Tcl_Interp'
interp -> result = "usage: byteoffset [1 | 0]";
~~~~~~ ^
stubs.c:162:17: error: no member named 'result' in 'struct Tcl_Interp'
interp -> result = "usage: senseflag [1 | 0]";
~~~~~~ ^
stubs.c:178:17: error: no member named 'result' in 'struct Tcl_Interp'
interp -> result = "usage: contextualhelp partofspeechnum searchtypenum";
~~~~~~ ^
stubs.c:183:14: error: no member named 'result' in 'struct Tcl_Interp'
interp -> result = helptext[pos][searchtype];
~~~~~~ ^
stubs.c:193:17: error: no member named 'result' in 'struct Tcl_Interp'
interp -> result = "usage: reopendb";
~~~~~~ ^
stubs.c:207:17: error: no member named 'result' in 'struct Tcl_Interp'
interp -> result = "usage: abortsearch";
~~~~~~ ^
14 errors generated.
make[2]: *** [wishwn-stubs.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
请告诉我如何解决这个问题。如果Tcl/TK有问题,请解释一下正确的安装方法。谢谢
直接访问interp->result
!哦,那是very如今已弃用 http://tip.tcl.tk/330.html.
解决方法
您最好的选择是使用 Tcl 8.5 或 8.4 进行构建(不建议使用此类编码模式),但您可以通过传递以下命令使事情在 8.6 中工作:-DUSE_INTERP_RESULT
给编译器的标志。你will如果这样做会收到警告,但这比硬错误好,是吗?
正确修复
这些地方中的每一个确实应该更改为使用Tcl_SetResult http://www.tcl.tk/man/tcl8.6/TclLib/SetResult.htm,即来自:
interp->result = "usage: glosses [1 | 0]";
to
Tcl_SetResult(interp, "usage: glosses [1 | 0]", TCL_DYNAMIC);
(好吧,TCL_DYNAMIC
可能TCL_STATIC
在这种情况下,我们不妨进行防御性编码;开销实际上为零。)
请注意,Tcl_SetResult
Tcl 已经支持 API 数十年了。更改为使用它不会阻止使用旧版本构建代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)