我尝试为NLP任务安装YamCha工具,例如NER,POS和分块。
在尝试安装时,我按照安装步骤进行了操作
% ./configure
% make
% make check
% su
# make install
我收到以下错误消息: -
param.cpp:在成员函数' bool YamCha :: Param :: open(int,char **,const YamCha :: Option *)': param.cpp:102:42:错误:' strlen'在这方面没有申明 size_t nlen = strlen(opts [i] .name); ^ param.cpp:103:68:错误:' strncmp'在这方面没有申明 if(nlen == len&& strncmp(& argv [ind] [2],opts [i] .name,len)== 0){ ^ param.cpp:在成员函数' bool YamCha :: Param :: open(const char *,const YamCha :: Option *)': param.cpp:182:28:错误:' strncpy'在这方面没有申明 strncpy(str,arg,1024); ^ param.cpp:185:12:警告:不推荐将字符串常量转换为' char *' [-Wwrite串] 使所有递归 make 1:输入目录
/home/hamada/Documents/YamCha/yamcha-0.33' Making all in src make[2]: Entering directory
/ home / hamada / Documents / YamCha / yamcha-0.33 / src' / bin / bash ../libtool --mode = compile --tag = CXX g ++ -DHAVE_CONFIG_H -I。 -一世。 -I .. -O3 -Wno-deprecated -Wall -c -o param.lo param.cpp g ++ -DHAVE_CONFIG_H -I。 -一世。 -I .. -O3 -Wno-deprecated -Wall -c param.cpp -fPIC -DPIC -o .libs / param.o ptr [0] = PACKAGE; ^ param.cpp:在成员函数' void YamCha :: Param :: help(std :: ostream&,const YamCha :: Option *)': param.cpp:205:42:错误:' strlen'在这方面没有申明 size_t l = 1 + strlen(opts [i] .name); ^ param.cpp:211:38:错误:' strlen'在这方面没有申明 size_t l = strlen(opts [i] .name); ^ make [2]: * [param.lo]错误1 make [2]:离开目录/home/hamada/Documents/YamCha/yamcha-0.33/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory
/ home / hamada / Documents / YamCha / yamcha-0.33' make:* [all]错误2
答案 0 :(得分:5)
代码文件中缺少一个头文件。您在上面提供的链接包含源文件src/common.h
,只需在此文件中添加#include<string.h>
即可。通过这个添加,它应该工作。