/extractor/backoff_sampler.cc:24:18: ошибка: 'вокруг' не был объявлен в этом объеме

Я пытаюсь создать cdec на Ubuntu 18.04.1 LTS (работающий в VirtualBox в Windows 10). Обратите внимание на то, что я нисколько не опытный продвинутый пользователь Linux.

Я выполнил команды, данные в вышеупомянутом cdec repo:

cmake .
make -j4
make test
./tests/run-system-tests.pl

Однако во время make Я получил ошибку, к которой я не мог найти трассировку. Отключение мультипотоков и установки VERBOSE (make VERBOSE=1), я получил следующую трассировку:

[ 79%] Building CXX object extractor/CMakeFiles/extractor.dir/backoff_sampler.cc.o
cd /tmp/cdec/build/extractor && /usr/bin/c++  -DHAVE_CONFIG_H -DKENLM_MAX_ORDER=6 -I/tmp/cdec -I/tmp/cdec/build -I/usr/include/eigen3 -I/tmp/cdec/extractor/../utils -I/tmp/cdec/extractor -I/tmp/cdec/extractor/features  -Wall -std=c++11 -O3 -g -fopenmp   -o CMakeFiles/extractor.dir/backoff_sampler.cc.o -c /tmp/cdec/extractor/backoff_sampler.cc
/tmp/cdec/extractor/backoff_sampler.cc: In member function ‘virtual extractor::PhraseLocation extractor::BackoffSampler::Sample(const extractor::PhraseLocation&, const std::unordered_set<int>&) const’:
/tmp/cdec/extractor/backoff_sampler.cc:24:18: error: ‘round’ was not declared in this scope
     int sample = round(i);
                  ^~~~~
/tmp/cdec/extractor/backoff_sampler.cc:24:18: note: suggested alternative: ‘rand’
     int sample = round(i);
                  ^~~~~
                  rand
extractor/CMakeFiles/extractor.dir/build.make:86: recipe for target 'extractor/CMakeFiles/extractor.dir/backoff_sampler.cc.o' failed

Я нисколько не разработчик C++, но я предположил бы, что исходный код был записан для компилятора, который имеет собственный компонент round() функция (или что-то как этот?), но это на моей установке дело обстоит не так.

Я не уверен, какая информация могла быть полезной, таким образом, вот предположение:

  • Ubuntu 18.04.1 LTS
  • gcc (7.3.0-16ubuntu3 Ubuntu) 7.3.0
  • GNU делает 4.1

Я должен буду, вероятно, сделать изменения в исходном коде, который я принимаю, но я не знаю, что измениться на или замена какой. Любые индикаторы приветствуются.

Примечание: об ошибке сообщили разработчику.

1
задан 19 September 2018 в 19:50

1 ответ

Я рекомендую, чтобы Ваш удалять папку программы и устанавливают новую из архива. Ваши остановленные в 79% установки и имеют ошибку "extractor.dir / backoff_sampler", для обхождения ее необходимо воссоздать (запуск от конца) 'cdec' папку в новой разархивированной программе. (Я использовал Ubuntu 18.04.3 LTS на HDD).

# apt-get install cmake git build-essential libboost-dev libboost-regex-dev libboost-filesystem-dev libboost-serialization-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev libeigen3-dev libbz2-dev liblzma-dev flex libgtest-dev

# git clone https://github.com/redpony/cdec.git

# cd cdec

# apt-get update

# apt-get install golang-github-cenkalti-backoff-dev

# cmake .

# make -j4

# reboot

# cd cdec

# cmake .

# make -j4

0
ответ дан 7 December 2019 в 23:12

Другие вопросы по тегам:

Похожие вопросы: