安装YamCha包时出错

Ham*_*Ali 2 nlp svm pos-tagger

我尝试为NLP任务安装YamCha工具,如NER,POS和分块.

在尝试安装时,我按照安装步骤进行操作

% ./configure 
% make
% make check
% su
# make install
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息: -

param.cpp:在成员函数'bool YamCha :: Param :: open(int,char**,const YamCha :: Option*)':param.cpp:102:42:error:'strlen'未在此声明scope 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:error:'strncpy'未在此声明scope strncpy(str,arg,1024); ^ param.cpp:185:12:警告:不推荐使用从字符串常量转换为'char*'[-Wwrite-strings] make all-recursive 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:error:'strlen'未在此声明scope 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

Aga*_*ain 5

您的代码文件中缺少一个头文件.您在上面提供的链接包含一个源文件src/common.h,只需添加#include<string.h>到此文件中即可.通过这个添加,它应该工作.