Ошибка компиляции CRF ++ v0.51

Я пытаюсь скомпилировать CRF ++ v0.51, который поставляется с ParsCit. 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.

0

Решение

Основываясь на ответах, я сначала добавил импорт «stdlib.h» и импорт < iostream> строки как для node.cpp, так и для path.cpp в конце списка импорта. Но это не сработало. Затем (если немного повезло) подумал добавить строки импорта в начале списка импорта в обоих этих файлах. И BRAVO !!!, это сработало. ВНИМАНИЕ: Я не уверен, сработали ли stdlib или iostream, но какой из них сработал, можно легко определить.

1

Другие решения

Вы должны попробовать добавить #include<iosteream> в файле ‘node.cpp’ и снова скомпилируйте crf ++, как указано в поиск проблемы стр.
Надеюсь, это поможет.

0

Включите заголовочный файл stdlib.h в файл path.h.

Это сработало для меня.

0
По вопросам рекламы [email protected]