Реализация скрытой марковской модели Dekang Lin в C ++ при установке

У меня скачать Реализация скрытой марковской модели на С ++ написано Деканг ​​Лин, но я обнаружил ошибку при вводе make в каталоге src.

Спасибо @Michael, эта проблема решена.

В tables.cpp, добавлять #include <cstdlib>,

В genseq.cpp а также trainhmm.cpp, добавлять #include <stdlib.h>,

Информация об ошибке:

g++ -c -o tables.o -g  tables.cpp
tables.cpp: In member function 'bool OneDTable::rand(long unsigned int&)':
tables.cpp:155:24: error: '::rand' has not been declared
tables.cpp:155:34: error: 'RAND_MAX' was not declared in this scope
make: *** [tables.o] Error 1

0

Решение

Вы не должны сами вызывать свой компилятор. Этот проект содержит Makefile, поэтому запустите make и лучше исправить то, что сломано в Makefile и исходниках, чем пытаться индивидуально собрать .oты сам. Но:

Вероятно, в этом файле table.cpp отсутствует #include строка, где заголовок был бы включен, где OneDTable::rand(..) был бы объявлен. Также отсутствует ::rand указывает, что отсутствуют стандартные библиотеки включений. Это не проливает свет на целостность исходного кода. Может быть, просто возможно, как начинающий C ++, вы не хотите начинать с сломанного C ++, которому 12 лет.

Если вы не слишком настроены на чистый C ++, вы можете использовать gHMM, который гораздо более зрелый (и написан на C, поэтому работает безупречно на C ++, но не так уж и объектно-ориентирован). Также, HMMlib выглядит довольно мило.

0

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


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