隐藏马尔可夫模型的C ++实现Dekang Lin安装错误

时间:2015-07-06 07:46:06

标签: c++ hidden-markov-models

我已经下载了Dekang Lin写的A C++ Implementation of Hidden Markov Model,但是当我在src目录中输入make时发现了一个错误。

感谢@Michael,解决了这个问题

tables.cpp中,添加#include <cstdlib>

genseq.cpptrainhmm.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

1 个答案:

答案 0 :(得分:0)

您不应该自己调用编译器。该项目包含一个Makefile,因此运行make并更好地修复Makefile和源代码中的内容,而不是尝试自己单独构建.o。的

可能表table.cpp缺少#include行,其中将包含标题,其中OneDTable::rand(..)将被声明。此外,缺少::rand表示缺少标准库包含。这并不能说明源代码的完整性。或许,也许,作为一名C ++初学者,你不想从12岁的破解C ++开始。

如果你没有过度使用纯C ++,你可以使用gHMM,它更成熟(用C语言编写,所以在C ++中完美运行,但没有那么多面向对象) 。此外,HMMlib看起来还不错。