0

我正在尝试编译 ParsCit 附带的 CRF++ v0.51。configure没有显示任何遗漏,但是,当我尝试make收到此错误时:

make  all-am
make[1]: Entering directory `/path/to/parscit/crfpp/CRF++-0.51'
/bin/bash ./libtool --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I.     -O3 -Wall -Wno-deprecated -c -o node.lo node.cpp
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -O3 -Wall -Wno-deprecated -c node.cpp  -fPIC -DPIC -o .libs/node.o
In file included from node.h:13:0,
                 from node.cpp:9:
path.h:26:52: error: 'size_t' has not been declared
make[1]: *** [node.lo] Error 1
make[1]: Leaving directory `/path/to/parscit/crfpp/CRF++-0.51'
make: *** [all] Error 2

我能够编译较新版本的 CRF++ v0.58,但 ParsCit 似乎需要 v0.51。

4

3 回答 3

2

根据周围的答案,我首先将 import "stdlib.h" 和 import <iostream> 行添加到import list 末尾的node.cpp 和 path.cpp 中。但它没有用。然后(有点运气)考虑在这两个文件的导入列表的开头添加导入行。和 BRAVO !!!,它的工作。注意:我不确定 stdlib 或 iostream 是否有效,但可以很容易地找出哪个有效。

于 2015-07-14T10:55:17.650 回答
0

在 path.h 文件中包含头文件 stdlib.h。

它对我有用。

于 2015-03-09T04:30:33.680 回答
0

您应该按照故障排除页面#include<iosteream>中的说明尝试添加“node.cpp”文件并再次编译 crf++ 。希望有帮助。

于 2013-09-10T08:00:13.740 回答