我正在尝试安装SCTK 2.4.0在我的系统上安装了 gcc 4.8.1 的 Ubuntu 13.10 上,但是在运行“make all”命令后出现此错误:
In file included from main.cpp:20:0:
recording.h:122:29: error: ‘Filter::Filter’ cannot appear in a constant-expression
map<string, Filter::Filter*> filters;
^
recording.h:122:36: error: template argument 2 is invalid
map<string, Filter::Filter*> filters;
^
recording.h:122:36: error: template argument 4 is invalid
make[3]: *** [main.o] Error 1
make[3]: Leaving directory `/home/acl/Downloads/sctk-2.4.0/src/asclite/core'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/acl/Downloads/sctk-2.4.0/src/asclite'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/acl/Downloads/sctk-2.4.0/src'
make: *** [all] Error 2
我该怎么做才能安装这个工具?
答案1
在 14.04 上尝试了以下操作:
转到recording.h
和recording.cpp
文件下找到sctk-2.4.0/src/asclite/core
并更改所有出现的Filter::Filter*
到::Filter*
然后再试一次,它应该可以编译了。
答案2
README 表示它是在 2009 年编写的。它还表示它已在 gcc 版本 4.3 上测试和编译;您使用的是 4.8.1。它进一步指出它是在最新的 2.6.19 内核上编译的。
在 2013 年编写的 Ubuntu 13.10 中,我们使用的是内核版本 3.11-xx。内核已经发展得太过了,gcc 也已经发展得太过了,无法成功编译这个老古董。我建议您寻找一个更新的版本进行编译。