一个C++实现的隐马尔可夫模型林安装错误



我下载了林德康编写的隐马尔可夫模型的C++实现,但在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

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

该table.cpp可能缺少#include行,在该行中,标头将包含在声明OneDTable::rand(..)的位置。此外,缺少::rand表示缺少标准库include。这并不能很好地说明源代码的完整性。也许,只是也许,作为一个C++初学者,你不想从12岁的坏C++开始。

如果你没有过度使用纯C++,你可以使用gHMM,它要成熟得多(而且是用C编写的,所以在C++中可以完美地工作,但没有那么面向对象(。此外,HMMlib看起来还不错。

相关内容

  • 没有找到相关文章

最新更新